Začněte nyníZačněte zdarma

Nejúspěšnější sportovec na region

Cílem tohoto cvičení je zobrazit nejúspěšnějšího sportovce na každý region. Pro sestavení tohoto reportu využiješ funkci ROW_NUMBER(), která každému řádku přiřadí pořadové číslo – první řádek dostane hodnotu 1, druhý 2 a tak dále.

Syntax této window funkce je ROW_NUMBER() OVER (PARTITION BY field ORDER BY field). Všimni si, že samotná funkce nemá žádný argument.

Pokud je vše správně nastaveno, row_num = 1 označuje nejúspěšnějšího sportovce v daném regionu. Pokud mají dva sportovci stejný celkový počet medailí, jako výsledek se zobrazí jeden z nich. Pamatuj, že window funkci nelze použít přímo v klauzuli HAVING ani WHERE – k filtrování budeš proto potřebovat poddotaz.

Kdykoli se můžeš podívat na E:R diagram. Budeme pracovat s tabulkou summer_games_clean, abychom se vyhnuli zpracování hodnot null.

Toto cvičení je součástí kurzu

Reporting in SQL

Zobrazit kurz

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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 ____;
Upravit a spustit kód