DB/Oracle

[Oracle] 순위 매기는 함수 RANK(), DENSE_RANK(), ROW_NUMBER() 비교

콩다영 2021. 2. 18.
728x90

오라클 값에 따른 순위 매기기 (RANK함수/ DENSE_RANK함수/ ROW_NUMBER함수 사용법, 비교)

 

 

 

 

값에 따라 순위를 매겨 뿌릴 때 쿼리에서 뽑아올 수 있는 함수가 있어서 소개한당 !

순위를 매기는 함수로는 RANK() , DENSE_RANK() , ROW_NUMBER() 이렇게 세 가지의 함수가 있는데,

각 함수마다 조금씩 특징이 다르다.  세가지 함수를 비교해보자 !

 

 


 

 

 

RANK() 함수

: 동일한 값에 대해 같은 순위를 부여하고 다음 순위는 누적 순위로 매긴다.

 

 

DENSE_RANK() 함수

: 동일한 값에 대해 같은 순위를 부여하고 다음 순위는 누적시키지 않고 다음 순차로 순위를 매긴다.

 

 

ROW_NUMBER() 함수 

: 동일한 값에 대해 상관없이 순차적으로 순위를 부여한다.

 

 

  RANK 함수 DENSE_RANK 함수 ROW_NUMBER 함수
동일한 값
동일 순위 부여
O O X
누적 순위 O X X

 

 

 

 

 

728x90
반응형

댓글