Ranking sportowców według zdobytych medali
W rozdziale 1. korzystałeś z ROW_NUMBER, aby uszeregować sportowców według liczby zdobytych medali. Jednak ROW_NUMBER przypisuje różne numery sportowcom z taką samą liczbą medali – nie jest więc idealną funkcją rankingową. Jeśli dwoje sportowców zdobyło tyle samo medali, powinni mieć tę samą pozycję w rankingu.
To ćwiczenie jest częścią kursu
PostgreSQL – statystyki podsumowujące i funkcje okna
Instrukcje do ćwiczenia
- Uszereguj każdego sportowca według liczby zdobytych medali – im wyższa liczba, tym wyższa pozycja w rankingu – przypisując identyczne wartości w przypadku remisów.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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;