반응형
RANK and DENSE_RANK functions
- 2005년에 소개되었다.Introduced in SQL Server 2005
- ORDER BY절에서 지정한 행 순서에 따라 1부터 시작하는 순위를 리턴한다. Return a rank starting at 1 based on the ordering of rows imposed by the ORDER BY clause
- ORDER BY clause is required
- PARTITION BY clause is optional
- 파티션으로 분리되어있으면 파티션이 바뀔때 1로 리셋이 된다.When the data is partitioned, rank is reset to 1 when the partition changes
Difference between RANK and DENSE_RANK functions
RANK 함수는 중복이 있으면 스킵이 된다. 5명 중 2등이 두명이면 3등은 없다. [ 1등, 2등, 2등, 4등, 5등]
하지만 DENSE_RANK는 스킵이 되지 않고 다음 순위로 체크한다. [1등, 2등, 2등, 3등, 4등]
RANK function skips ranking(s) if there is a tie where as DENSE_RANK will not
Syntax:
RANK() OVER (ORDER BY Col1, Col2, ...)
DENSE_RANK() OVER (ORDER BY Col1, Col2, ...)
반응형
'Database > SQL Server' 카테고리의 다른 글
SQL Server - NTILE 함수 (0) | 2020.12.18 |
---|---|
SQL Server - 러닝 합계 Running Total (0) | 2020.12.18 |
SQL Server - Over 절 과 ROW_NUMBER() 함수 (0) | 2020.12.16 |
SQL Server - 디버깅 Debugging (0) | 2020.12.16 |
SQL Server - 그룹핑, 그룹핑_아이디 GROUPING, GROUPING_ID (0) | 2020.12.16 |