Zacznij terazZacznij za darmo

PARTITION BY dla kolumny

Klauzula PARTITION BY pozwala obliczać oddzielne „okna" na podstawie wybranych kolumn. Możesz na przykład utworzyć pojedynczą kolumnę, która wyznacza ogólną średnią liczby goli strzelonych w każdym sezonie.

W tym ćwiczeniu stworzysz zbiór danych z meczami Legii Warszawa – najwyżej sklasyfikowanego polskiego klubu – i porównasz wyniki poszczególnych spotkań ze średnią dla całego sezonu.

Gdzie dostrzegasz więcej wartości odstających? Czy to mecze domowe, czy wyjazdowe Legii Warszawa?

To ćwiczenie jest częścią kursu

Data Manipulation in SQL

Zobacz kurs

Instrukcje do ćwiczenia

  • Uzupełnij dwie funkcje okna obliczające średnią liczby goli strzelonych u siebie i na wyjeździe. Zastosuj partycjonowanie według sezonu, aby wyznaczyć oddzielne średnie dla każdego sezonu.
  • Przefiltruj zapytanie tak, aby uwzględniało wyłącznie mecze Legii Warszawa, id = 8673.

Interaktywne ćwiczenie praktyczne

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

SELECT
	date,
	season,
	home_goal,
	away_goal,
	CASE WHEN hometeam_id = 8673 THEN 'home' 
		 ELSE 'away' END AS warsaw_location,
    -- Calculate separately the average home and away goals scored, partitioned by season
    ___(___) ___(___ ___ ___) AS season_homeavg,
    ___(___) ___(___ ___ ___) AS season_awayavg
FROM match
-- Filter the data set for Legia Warszawa (id 8673) matches only
WHERE 
	___ = ___ 
    OR ___ = ___
ORDER BY (home_goal + away_goal) DESC;
Edytuj i uruchom kod