메달 수로 선수 순위 매기기
1장에서 ROW_NUMBER로 수상 메달 수에 따라 선수에게 순위를 매겼습니다. 하지만 ROW_NUMBER는 메달 수가 같은 선수에게도 서로 다른 번호를 부여하므로, 올바른 순위 함수로는 적절하지 않습니다. 같은 수의 메달을 획득했다면 같은 순위를 가져야 합니다.
이 연습은 강의의 일부입니다
PostgreSQL 요약 통계와 윈도 함수
연습 안내
- 각 선수를 획득한 메달 수로 순위를 매기세요. 수가 클수록 더 높은 순위를 부여하고, 값이 같다면 동일한 순위를 부여하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
WITH Athlete_Medals AS (
SELECT
Athlete,
COUNT(*) AS Medals
FROM Summer_Medals
GROUP BY Athlete)
SELECT
Athlete,
Medals,
-- Rank athletes by the medals they've won
___ OVER (ORDER BY ___ DESC) AS Rank_N
FROM Athlete_Medals
ORDER BY Medals DESC;