[LeetCode/SQL] 178. Rank Scores

Sooyeon·2024년 1월 10일
0

문제풀이 

목록 보기
72/95
post-thumbnail

[LeetCode/SQL]


📌 178. Rank Scores

문제

풀이

점수별 순위를 작성하라
점수는 높은점수에서부터 낮은점수로 순위를 부여하라.
만약 점수 두개가 같다면, 같은 순위를 부여하라 
그리고 그 다음은 연속적인 순위를 부여하라.

방법

SELECT score
       ,DENSE_RANK() OVER(ORDER BY score  DESC) AS 'rank'
FROM Scores
※※※ 순위 함수 
RANK() 함수:
동일한 값들에 대해서는 동일한 순위를 부여하며, 
그 다음 순위는 그에 따라 증가합니다.
예시: 1, 2, 2, 4, 5 -> 순위: 1, 2, 2, 4, 5

DENSE_RANK() 함수:
동일한 값에 대해서도 순위를 부여하지만, 
중복된 값이 있을 경우에는 중복 순위를 건너뛰지 않고 
계속 순위를 증가시킵니다.
예시: 1, 2, 2, 4, 5 -> 순위: 1, 2, 2, 3, 4

ROW_NUMBER() 함수:
동일한 값에 대해서도 순위를 부여하며, 
중복된 값에 대해서는 무조건 중복 순위를 부여하지 않고  순위 증가
예시: 1, 2, 2, 4, 5 -> 순위: 1, 2, 3, 4, 5

0개의 댓글