Aan de slagGa gratis aan de slag

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

Cursus bekijken

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;
Code bewerken en uitvoeren