본문 바로가기
반응형

윈도우 함수5

오라클) 윈도우 함수(Window Function)의 FIRST_VALUE(), LAST_VALUE() 예시 FIRST_VALUE(컬럼명): 컬럼의 첫번째 값LAST_VALUE(컬럼명): 컬럼의 마지막 값   SELECT     EMPLOYEE_ID     ,DEPARTMENT_ID     ,SALARY     ,FIRST_VALUE(SALARY) IGNORE NULLS OVER (PARTITION BY DEPARTMENT_ID ORDER BY SALARY) AS LOW_SAL     ,LAST_VALUE(SALARY) IGNORE NULLS OVER (PARTITION BY DEPARTMENT_ID ORDER BY SALARY) AS HIGH_SAL_1     ,LAST_VALUE(SALARY) IGNORE NULLS OVER (PARTITION BY DEPARTMENT_ID ORDER BY SALARY   .. 2024. 8. 26.
오라클) 윈도우 함수(Window Function)의 Interval 키워드 사용법 SELECT EMPLOYEE_ID ,DEPARTMENT_ID ,SALARY ,HIRE_DATE ,SUM(SALARY) OVER (PARTITION BY DEPARTMENT_ID ORDER BY HIRE_DATE RANGE BETWEEN INTERVAL '1' YEAR PRECEDING AND INTERVAL '1' MONTH FOLLOWING) SUM FROM EMPLOYEES WHERE DEPARTMENT_ID IN (10,20,30) ORDER BY DEPARTMENT_ID, HIRE_DATE ; --> HIRE_DATE 컬럼 중, 1 년전 데이터와 1 달뒤 데이터를 SUM()을 하라는 뜻이다. 2024. 8. 26.
오라클) 윈도우 함수(Window Function)의 ROW_NUMBER() 함수를 역순으로 출력하기 *방법은 윈도우 함수 중 COUNT() 함수로 총 행의 수를 구한 다음에, ROW_NUMBER() 값을 빼는 것이다. ORDER BY는 필수이지만, PARTITION BY는 선택이다. (1) 정순SELECT EMPLOYEE_ID , DEPARTMENT_ID , HIRE_DATE , ROW_NUMBER() OVER(PARTITION BY DEPARTMENT_ID ORDER BY HIRE_DATE) AS ROW_NUMBER FROM EMPLOYEES ;  (2)역순SELECT     EMPLOYEE_ID,     DEPARTMENT_ID,     HIRE_DATE,     (COUNT(*) OVER(PARTITION BY DEPARTMENT_ID) + 1) - ROW_NUMBER() OVER(PARTITIO.. 2024. 8. 26.
오라클) 윈도우 함수로, 전체 집계 함수 값과 특정 컬럼 집계 함수 값 같이 보기 SELECT  국적  , SUM(월급) OVER(PARTITION BY 국적)  , SUM(월급) OVER()FROM 인적정보; 2024. 8. 25.
오라클) Oracle에서 IN 조건으로 여러 값을 동시에 만족하는 쿼리 작성법 업무 중에, IN 조건을 모두 만족하는 데이터를 출력할 때가 종종 있습니다.  일반적인 IN 조건은 하나라도 만족하는 값을 추출하지만,  이번에는  IN 조건을 사용할 때, IN 조건을 동시에 모두 만족하는 결과를 얻는 방법을 살펴보겠습니다.   테이블CREATE TABLE my_table (    id NUMBER,    value VARCHAR2(10));  1. GROUP BY와 ROW_NUMBER() 을 사용하여 모든 값 포함 확인하기 SELECT T1.ID FROM (     SELECT id, VALUE, ROW_NUMBER()OVER(PARTITION BY ID ORDER BY ID) RN     FROM my_table     WHERE value IN ('a', 'b', 'c', 'd').. 2024. 7. 16.
반응형