1. Nauka
  2. /
  3. Kursy
  4. /
  5. Raportowanie w SQL

Connected

ćwiczenie

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.

Instrukcje 1/2

undefined XP
    1
    2
  • Zbuduj zapytanie, które pobierze pola region, athlete_name i total_golds, łącząc tabele summer_games_clean, athletes i countries.
  • Dodaj pole o nazwie row_num, które przy użyciu ROW_NUMBER() przypisze każdemu sportowcowi ranking regionalny na podstawie łącznej liczby zdobytych złotych medali.