728x90
반응형
Oracle 분석함수에 ROW_NUMBER 사용방법에 대해서 알아보겠습니다
ROW_NUMBER는 정렬된 결과에 대해 순위를 부여하는 기능이다.
1. 예시쿼리
select
deptno,
weigth,
name,
RANK() OVER (PARTITION BY deptno ORDER BY weigth) as weigth_rank
DENSE_RANK() OVER (PARTITION BY deptno ORDER BY weigth) as weigth_dense,
ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY weigth) as weigth_row
from student
ORDER BY deptno, weigth, name;
위 결과와 같이 RANK()와 DENSE_RANK()의 경우에 동일한 값이 있다면 동일한 등급으로 부여합니다.
하지만 ROW_NUMBER()의 경우에 ORDER BY 된 우선순위에 따라 다르게 부여한다.
출처 : 오라클 중심의 SQL 배움터 (책)
728x90
반응형
'DB (데이터베이스) > Oracle (오라클)' 카테고리의 다른 글
[Oracle] oracle drop user시 ORA-06904 발생 해결 (0) | 2024.01.29 |
---|---|
[Oracle] oracle statspack 설치 (0) | 2024.01.29 |
[Oracle] Oracle NTILE분석 함수 (0) | 2024.01.29 |
[Oracle] oracle RANK()함수, DENSE_RANK()함수 (0) | 2024.01.29 |
[Oracle] oracle 페이징 조회 top-n쿼리 (1) | 2024.01.29 |