Kom igångKom igång gratis

Mest dekorerad idrottare per region

Målet med den här övningen är att visa den mest dekorerade idrottaren per region. För att sätta upp den här rapporten behöver du använda fönsterfunktionen ROW_NUMBER(), som numrerar varje rad som ett ökande heltal, där den första raden är 1, den andra 2, och så vidare.

Syntaxen för den här fönsterfunktionen är ROW_NUMBER() OVER (PARTITION BY field ORDER BY field). Lägg märke till att det inte finns något argument inuti själva funktionen.

När allt är korrekt inställt representerar row_num = 1 den mest dekorerade idrottaren inom den regionen. Om flera idrottare har samma totalsumma kan vilken som helst av de jämnställda idrottarna visas som toppresultat. Observera att du inte kan använda en fönsterberäkning inuti en HAVING- eller WHERE-sats, så du behöver använda en underfråga för att filtrera.

Få gärna referera till E:R-diagrammet. Vi använder summer_games_clean för att undvika hantering av null-värden.

Den här övningen är en del av kursen

Rapportering i SQL

Visa kurs

Interaktiv övning med praktiskt arbete

Testa den här övningen genom att slutföra den här exempelkoden.

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 ____;
Redigera och kör kod