RANK & DENSE_RANK Functions
Coddy SQL 여정의 기초 섹션에 포함된 레슨 — 72개 중 65번째.
ROW_NUMBER()는 순위 함수의 한 유형이며, 두 가지 더 있습니다: RANK()와 DENSE_RANK().
RANK() 함수는 ROW_NUMBER()처럼 행을 번호 매기지만, 동일한 행에 대해 동일한 번호를 부여하고 번호를 건너뜁니다. DENSE_RANK()는 RANK()와 유사하지만, 번호를 건너뛰지 않습니다.
예를 들어:
| id | level |
| 1 | 5 |
| 2 | 6 |
| 3 | 6 |
| 4 | 7 |
| 5 | 7 |
| 6 | 5 |
SELECT id,
ROW_NUMBER() OVER (ORDER BY level) as row_num,
RANK() OVER (ORDER BY level) as row_rank,
DENSE_RANK() OVER (ORDER BY level) as row_dense_rank
FROM table1이것은 다음을 반환합니다:
| id | row_num | row_rank | row_dense_rank |
| 1 | 1 | 1 | 1 |
| 6 | 2 | 1 | 1 |
| 2 | 3 | 3 | 2 |
| 3 | 4 | 3 | 2 |
| 4 | 5 | 5 | 3 |
| 5 | 6 | 5 | 3 |
설명:
ROW_NUMBER(): 항상 고유: 1, 2, 3, 4, 5, 6RANK():- 레벨 5 (2 rows): 둘 다 순위 1을 받음
- 레벨 6 (2 rows): 둘 다 순위 3을 받음 (2를 건너뜀)
- 레벨 7 (2 rows): 둘 다 순위 5을 받음 (4를 건너뜀)
DENSE_RANK():- 레벨 5 (2 rows): 둘 다 순위 1을 받음
- 레벨 6 (2 rows): 둘 다 순위 2을 받음 (건너뛰지 않음)
- 레벨 7 (2 rows): 둘 다 순위 3을 받음 (건너뛰지 않음)
챌린지
쉬움사용 가능한 테이블 및 열:
<strong>medals</strong>:<strong>region</strong>,<strong>medal_color</strong>,<strong>medal_count</strong>
지역, 총 메달 수 (색상에 관계없이 모든 메달의 합계), 그리고 두 가지 유형의 순위를 보여주는 쿼리를 작성하세요:
- 총 메달 합계에 대한
regular_rank(간격 포함) - 총 메달 합계에 대한
dense_rank(간격 없음)
결과를 다음에 따라 정렬하세요:
order by total_medals desc, region asc치트 시트
SQL은 동점 값에 대해 다르게 작동하는 세 가지 순위 함수를 제공합니다:
ROW_NUMBER()- 고유한 순차 번호를 할당합니다RANK()- 동점 값에 동일한 순위를 할당하고 후속 순위를 건너뜁니다DENSE_RANK()- 동점 값에 동일한 순위를 할당하지만 순위를 건너뛰지 않습니다
예를 들어:
| id | level |
| 1 | 5 |
| 2 | 6 |
| 3 | 6 |
| 4 | 7 |
| 5 | 7 |
| 6 | 5 |
SELECT id,
ROW_NUMBER() OVER (ORDER BY level) as row_num,
RANK() OVER (ORDER BY level) as row_rank,
DENSE_RANK() OVER (ORDER BY level) as row_dense_rank
FROM table1이것은 다음을 반환합니다:
| id | row_num | row_rank | row_dense_rank |
| 1 | 1 | 1 | 1 |
| 6 | 2 | 1 | 1 |
| 2 | 3 | 3 | 2 |
| 3 | 4 | 3 | 2 |
| 4 | 5 | 5 | 3 |
| 5 | 6 | 5 | 3 |
직접 해보기
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
기초의 모든 레슨
4More Keywords
The IN keywordThe BETWEEN keywordThe LIKE keywordThe AS keywordRecap - Cellphone Models2Conditions
Conditions BasicsThe AND keywordThe OR keywordThe NOT keywordMultiple Conditions CombinedParenthesisBooleans5Arithmetic Operations
Mathematical OperatorsMathematical ColumnsThe Modulo OperationThe ROUND() Function3Specific Return Format
Null valuesSort Results Part 1Sort Results Part 2Recap - Cyber Security FirmLimit number of recordsRecap - Vehicle Factory6Intro Challenges
Recap - Parliamentary ElectionRecap - Police Criminal ArrestRecap - Bar Beverage ContainerRecap - Engineer new columns9Multiple tables
Basic Join Part 1Basic Join Part 2Recap - JoinSelf joinRecap - Self JoinUnionSimplify queries, WITH keywordRecap - With QueriesRecap - Real Estate Contractor12Window Functions part 2
RANK & DENSE_RANK FunctionsRecap - RANK & DENSE_RANKNTILE FunctionAggregation FunctionsROWS & RANGE Criterion