IniziaInizia gratis

Classificare gli atleti per medaglie vinte

Nel capitolo 1 hai usato ROW_NUMBER per classificare gli atleti in base alle medaglie assegnate. Tuttavia, ROW_NUMBER attribuisce numeri diversi ad atleti con lo stesso numero di medaglie, quindi non è una funzione di ranking utile; se due atleti hanno vinto lo stesso numero di medaglie, dovrebbero avere lo stesso rango.

Questo esercizio fa parte del corso

Statistiche riepilogative e funzioni finestra in PostgreSQL

Visualizza il corso

Istruzioni dell'esercizio

  • Classifica ogni atleta in base al numero di medaglie vinte: più alto è il conteggio, più alto è il rango, assegnando lo stesso numero in caso di valori identici.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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;
Modifica ed esegui il codice