PARTITION BY meerdere kolommen
Met de PARTITION BY-clausule kun je venstergemiddelden uitsplitsen op meerdere datapunten (kolommen). Je kunt zelfs de informatie berekenen die je wilt gebruiken om je data te partitioneren! Zo kun je bijvoorbeeld het gemiddelde aantal doelpunten per seizoen en per land berekenen, of per kalenderjaar (afkomstig uit de datumkolom).
In deze oefening bereken je het gemiddelde aantal thuis- en uitdoelpunten van Legia Warszawa, en van hun tegenstanders, gepartitioneerd per maand in elk seizoen.
Deze oefening maakt deel uit van de cursus
Gegevens manipuleren in SQL
Oefeninstructies
- Maak twee windowfuncties die het gemiddelde van thuis- en uitdoelpunten partitioneren per seizoen en maand.
- Filter de gegevensset op het team-ID (
8673) van Legia Warszawa zodat de windowberekening alleen wedstrijden met hen meeneemt.
Praktische interactieve oefening
Probeer deze oefening eens door deze voorbeeldcode in te vullen.
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;