Leetcode MySQL Rank Scores
업데이트:
문제
코드
# Write your MySQL query statement below
SELECT s1.Score, COUNT(DISTINCT s2.SCORE) AS 'Rank'
FROM Scores s1
INNER JOIN Scores s2 ON s1.Score <= s2.Score
GROUP BY s1.Id
ORDER BY s1.Score DESC
결과
설명
-
Scores Table에서 Score 별 Rank를 메겨서 높은 순서대로 정렬하는 문제이다.
-
Scores Table을 두 번 호출하여 서로 INNER JOIN한다.
-
s1.Score 보다 작은 s2.Score를 JOIN 걸어 RANK를 메긴다.
-
집계함수를 사용하므로, s1.Id으로 GROUP하고 s1.Score를 DESC로 정렬한다.
댓글남기기