PARTITION BY med flera kolumner
Klausulen PARTITION BY kan användas för att dela upp fönstermedelvärden efter flera datapunkter (kolumner). Du kan till och med beräkna den information du vill partitionera efter! Till exempel kan du beräkna genomsnittligt antal mål per säsong och land, eller per kalenderår (hämtat från datumkolumnen).
I den här övningen beräknar du det genomsnittliga antalet hem- och bortamål för Legia Warszawa och deras motståndare, partitionerat efter månad inom varje säsong.
Den här övningen är en del av kursen
Datahantering i SQL
Övningsinstruktioner
- Konstruera två fönsterfunktioner som partitionerar medelvärdet av hem- och bortamål efter säsong och månad.
- Filtrera datamängden på Legia Warszawas lag-ID (
8673) så att fönsterberäkningen endast inkluderar matcher där de deltar.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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;