본문 바로가기
etc

[MySQL] RANK, DENSE_RANK, ROW_NUMBER 차이

by Sonagiya 2023. 4. 24.
반응형
  • RANK
    • 동일 순위가 존재하고 다음 순위에서 동일 순위 개수가 추가되어 증가한다
  • DENSE_RANK
    • 동일 순위가 존재하고 다음 순위에 동일 순위 +1 로 표시 된다.
  • ROW_NUMBER
    • 동일 순위가 없고 정렬 후 처음부터 1씩 증가한다.

 

아래 쿼리와 표는 Rank(_rank), DENSE_RANK(_dense), ROW_NUMBER(_row) 를 표시한 예제입니다.

 

-- 쿼리
select *,
rank() over (order by name desc) as _rank,
dense_rank() over (order by name desc) as _dense,
row_number() over (order by name desc) as _row
from rank_test;

 

원본 데이터 정렬된 데이터

 

반응형

댓글