PARTITION BY pro více sloupců
Klauzule PARTITION BY umožňuje rozdělit průměry okenní funkce podle více datových bodů (sloupců). Můžeš dokonce počítat hodnoty, podle kterých chceš data rozdělit! Například průměrný počet vstřelených gólů podle sezóny a země, nebo podle kalendářního roku (získaného ze sloupce s datem).
V tomto cvičení spočítáš průměrný počet gólů vstřelených doma i venku pro tým Legia Warszawa a jejich soupeře, rozdělený podle měsíce v každé sezóně.
Toto cvičení je součástí kurzu
Manipulace s daty v SQL
Pokyny k cvičení
- Sestav dvě okenní funkce, které počítají průměr domácích a venkovních gólů rozdělený podle sezóny a měsíce.
- Filtruj dataset podle ID týmu Legia Warszawa (
8673), aby výpočet zahrnoval pouze zápasy, ve kterých hrál tento tým.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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;