Gewinnende nach gewonnenen Medaillen sortieren
In Kapitel 1 hast du ROW_NUMBER verwendet, um die Athleten nach gewonnenen Medaillen zu ordnen. Allerdings gibt ROW_NUMBER Athleten mit der gleichen Anzahl an Medaillen unterschiedliche Nummern, sodass dabei keine eigentliche Rangliste entsteht. Wenn zwei Athleten die gleiche Anzahl an Medaillen haben, sollten sie auch den gleichen Rang haben.
Diese Übung ist Teil des Kurses
<Kurs>PostgreSQL: Zusammenfassende Statistiken und Fensterfunktionen</Kurs>Übungsanweisungen
- Erstelle eine Rangliste aller Teilnehmenden nach der Anzahl der gewonnenen Medaillen – je mehr Medaillen, desto höher der Rang – und gleiche Werte ergeben die gleiche Rangposition.
Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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;