Atleta più decorato per regione
Il tuo obiettivo in questo esercizio è mostrare l’atleta più decorato per regione. Per impostare questo report, devi usare la funzione finestra ROW_NUMBER(), che numera ogni riga con un intero crescente: la prima riga è 1, la seconda è 2 e così via.
La sintassi di questa funzione è ROW_NUMBER() OVER (PARTITION BY field ORDER BY field). Nota che non c’è alcun argomento all’interno della funzione iniziale.
Se impostata correttamente, un row_num = 1 rappresenta l’atleta più decorato all’interno di quella regione. Se più atleti hanno lo stesso totale, uno qualsiasi tra loro può comparire come primo risultato. Tieni presente che non puoi usare un calcolo finestra in una clausola HAVING o WHERE, quindi dovrai usare una sottoquery per filtrare.
Sentiti libero di consultare l’E:R Diagram. Useremo summer_games_clean per evitare la gestione dei valori null.
Questo esercizio fa parte del corso
Reportistica in SQL
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
SELECT
-- Query region, athlete_name, and total gold medals
____,
____ AS athlete_name,
____ AS total_golds,
-- Assign a regional rank to each athlete
____ AS row_num
FROM ____ AS s
JOIN ____ AS a
ON ____
JOIN ____ AS c
ON ____
GROUP BY ____;