Rangordna idrottare efter vunna medaljer
I kapitel 1 använde du ROW_NUMBER för att rangordna idrottare efter tilldelade medaljer. ROW_NUMBER ger dock olika nummer till idrottare med samma antal medaljer, vilket gör den mindre lämplig som rankningsfunktion – om två idrottare har vunnit lika många medaljer bör de ha samma rang.
Den här övningen är en del av kursen
PostgreSQL – Sammanfattande statistik och fönsterfunktioner
Övningsinstruktioner
- Rangordna varje idrottare efter antal vunna medaljer – ju fler medaljer, desto högre rang – med identiska rankningar vid lika värden.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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;