Rangliste der Athleten nach gewonnenen Medaillen
In Kapitel 1 hast du ROW_NUMBER
benutzt, um die Athleten nach den vergebenen Medaillen zu ordnen. ROW_NUMBER
vergibt jedoch unterschiedliche Nummern an Athleten mit der gleichen Anzahl an vergebenen Medaillen, sodass es keine nützliche Ranglistenfunktion ist; wenn zwei Athleten die gleiche Anzahl an Medaillen gewonnen haben, sollten sie auch den gleichen Rang haben.
Diese Übung ist Teil des Kurses
PostgreSQL Übersichtsstatistiken und Fensterfunktionen
Anleitung zur Übung
- Ordne jeden Athleten nach der Anzahl der Medaillen, die er verdient hat - je höher die Anzahl, desto höher der Rang - mit gleichen Zahlen bei gleichen Werten.
Interaktive Übung zum Anfassen
Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.
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;