Aan de slagGa gratis aan de slag

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

Cursus bekijken

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;
Code bewerken en uitvoeren