본문 바로가기
개발공부 일지/오라클

오라클) 윈도우 함수(Window Function)의 FIRST_VALUE(), LAST_VALUE() 예시

by Box Cat 2024. 8. 26.
728x90
반응형

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
        RANGE BETWEEN UNBOUNDED PRECEDING AND UNBOUNDED FOLLOWING ) AS HIGH_SAL_2
FROM EMPLOYEES
WHERE DEPARTMENT_ID IN (10,20,30) ORDER BY DEPARTMENT_ID, SALARY
;

 

참고) Window Function의 Default 값은 RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW

이기 때문에, HIGH_SAL_1과 HIGH_SAL_2 값에 차이가 발생하는 것이다.

 
728x90
반응형

댓글