Erste SchritteKostenlos loslegen

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

Kurs anzeigen

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;
Bearbeiten und Ausführen von Code