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

오라클) 윈도우 함수(Window Function)의 ROW_NUMBER() 함수를 역순으로 출력하기

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

 

*방법은 윈도우 함수 중 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(PARTITION BY DEPARTMENT_ID ORDER BY HIRE_DATE) AS ROW_NUM
FROM EMPLOYEES;

 
 
 
 
728x90
반응형

댓글