Zacznij terazZacznij za darmo

Najbardziej utytułowany sportowiec w każdym regionie

Celem tego ćwiczenia jest wskazanie najbardziej utytułowanego sportowca w każdym regionie. Do zbudowania tego raportu wykorzystasz funkcję okna ROW_NUMBER(), która numeruje kolejne wiersze jako rosnące liczby całkowite: pierwszy wiersz otrzymuje wartość 1, drugi 2 i tak dalej.

Składnia tej funkcji okna to ROW_NUMBER() OVER (PARTITION BY field ORDER BY field). Zwróć uwagę, że sama funkcja nie przyjmuje żadnych argumentów.

Prawidłowo skonfigurowane zapytanie zwróci row_num = 1 dla najbardziej utytułowanego sportowca w danym regionie. Jeśli kilku sportowców ma taki sam łączny dorobek medalowy, jako wynik może pojawić się dowolny z nich. Pamiętaj, że obliczenia okna nie mogą być użyte bezpośrednio w klauzuli HAVING ani WHERE – do filtrowania potrzebne jest podzapytanie.

W razie potrzeby zajrzyj do diagramu E:R. Skorzystamy z tabeli summer_games_clean, aby uniknąć obsługi wartości null.

To ćwiczenie jest częścią kursu

Raportowanie w SQL

Zobacz kurs

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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 ____;
Edytuj i uruchom kod