Atleten rangschikken op behaalde medailles
In hoofdstuk 1 gebruikte je ROW_NUMBER om atleten te rangschikken op toegekende medailles. Maar ROW_NUMBER geeft verschillende nummers aan atleten met hetzelfde aantal toegekende medailles, waardoor het geen bruikbare rangschikkingsfunctie is; als twee atleten evenveel medailles hebben behaald, moeten ze dezelfde rang krijgen.
Deze oefening maakt deel uit van de cursus
PostgreSQL Samenvattingsstatistieken en vensterfuncties
Oefeninstructies
- Rangschik elke atleet op basis van het aantal behaalde medailles — hoe hoger het aantal, hoe hoger de rang — met gelijke nummers bij gelijke waarden.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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;