PARTITION BY według wielu kolumn
Klauzula PARTITION BY pozwala dzielić średnie okienkowe według wielu punktów danych (kolumn). Możesz nawet obliczać wartości, których chcesz użyć do podziału! Na przykład możesz obliczyć średnią liczbę goli według sezonu i kraju albo według roku kalendarzowego (pobieranego z kolumny z datą).
W tym ćwiczeniu obliczysz średnią liczbę goli strzelanych przez Legię Warszawa i ich przeciwników — zarówno u siebie, jak i na wyjeździe — z podziałem na miesiące w każdym sezonie.
To ćwiczenie jest częścią kursu
Data Manipulation in SQL
Instrukcje do ćwiczenia
- Zbuduj dwie funkcje okienkowe obliczające średnią liczbę goli strzelanych u siebie i na wyjeździe, z podziałem według sezonu i miesiąca.
- Przefiltruj zbiór danych według identyfikatora drużyny Legii Warszawa (
8673), tak aby obliczenia okienkowe obejmowały wyłącznie mecze z ich udziałem.
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 average goals partitioned by season and month
___(home_goal) ___(___ ___ ___,
EXTRACT(___ FROM date)) AS season_mo_home,
___(away_goal) ___(___ ___ ___,
EXTRACT(___ FROM date)) AS season_mo_away
FROM match
WHERE
hometeam_id = ___
OR awayteam_id = ___
ORDER BY (home_goal + away_goal) DESC;