-
[Oracle] ROW_NUMBER 함수RDS/Oracle 2020. 8. 30. 13:02반응형
ROW_NUMBER 함수란?
- 각 PARTITION 내에서 ORDER BY절에 의해 정렬된 순서를 기준으로 고유한 값을 반환하는 함수입니다.
- 윈도우 함수(Window Funtion)로 그룹 내 순위 함수입니다.
문법
ROW_NUMBER() OVER(PARTITION BY [그룹핑할 컬럼] ORDER BY [정렬할 컬럼])
- PARTITION BY는 선택, ORDER BY는 필수
PARTITION BY 미사용
1234SELECT ROW_NUMBER() OVER(ORDER BY T1.JOB, T1.ENAME) AS ROW_NUM, T1.*FROM EMP T1ORDER BY T1.JOB, T1.ENAME;cs PARTITION BY 사용
1234SELECT ROW_NUMBER() OVER(PARTITION BY T1.JOB ORDER BY T1.JOB, T1.ENAME) AS ROW_NUM, T1.*FROM EMP T1ORDER BY T1.JOB, T1.ENAME;cs 예제) 부서(DEPTNO)에서 급여(SAL)가 높은 직원
1234567SELECT T2.*FROM (SELECT ROW_NUMBER() OVER(PARTITION BY T1.DEPTNO ORDER BY T1.SAL DESC) AS ROW_NUM, T1.*FROM EMP T1) T2WHERE T2.ROW_NUM = 1;cs 반응형'RDS > Oracle' 카테고리의 다른 글
[Oracle] WINDOWNING 절 (0) 2020.09.12 [Oracle] COUNT 함수 (0) 2020.09.05 [Oracle] ROWNUM 함수 (0) 2020.08.30 [Oracle] 윈도우 함수(Window Funtion)_그룹 내 비율 함수 (0) 2019.03.26 [Oracle] 윈도우 함수(Window Funtion)_그룹 내 행 순서 함수 (0) 2019.03.25