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
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 ____;