티스토리 뷰

Oracle

[Oracle]RANK(), PARTITION BY 순위 함수

kr98gyeongim 2021. 1. 27. 15:30

오라클에서 특정 컬럼의 값에 대한 순위를 구하기 위해서 순위 함수(RANK, DENSE_RANK, ROW NUMBER)를 사용하면 된다.

순위 함수의 순위는 OVER 함수 내부의 ORDER BY 컬럼 값으로 결정된다.

 

RANK()  : 동일한 값이면 중복 순위를 부여하고, 다음 순위는 해당 중복 순위 개수만큼 다음 순위 값을 증가시킨 값으로 표시

DENSE_RANK() : 동일한 값인 경우 중복 순위를 부여한 후,
                       다음 순위는 중복 순위와 관계없이 순차적으로 다음 순위 값을 표시

ROW NUMBER() : 중복 관계 없이 순차적으로 순위를 표시

 

그룹별 순위

 

조회된 결과에서 그룹별로 순위를 부여해야 하는 경우에는

PARTITION BY절을 추가하면 해당 그룹내에서의 순위가 표시된다.

'Oracle' 카테고리의 다른 글

[Oracle] 정규표현식  (4) 2024.04.11
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함