PARTITION BY pe mai multe coloane
Clauza PARTITION BY poate fi folosită pentru a calcula medii în fereastră pe baza mai multor puncte de date (coloane). Poți chiar să calculezi informațiile pe care vrei să le folosești pentru partiționare! De exemplu, poți calcula media golurilor înscrise pe sezon și pe țară, sau după anul calendaristic (preluat din coloana de dată).
În acest exercițiu, vei calcula media golurilor marcate acasă și în deplasare de Legia Warszawa și de adversarii acesteia, partiționată după luna din fiecare sezon.
Acest exercițiu face parte din cursul
Manipularea datelor în SQL
Instrucțiuni pentru exercițiu
- Construiește două funcții fereastră care partiționează media golurilor acasă și în deplasare după sezon și lună.
- Filtrează setul de date după ID-ul echipei Legia Warszawa (
8673), astfel încât calculul ferestrei să includă doar meciurile în care aceasta a participat.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;