PARTITION BY – Aufteilen nach mehreren Spalten
Die PARTITION BY
-Klausel kann verwendet werden, um Fensterdurchschnitte nach mehreren Datenpunkten (Spalten) aufzuschlüsseln. Du kannst sogar die Informationen berechnen, die du zur Aufteilung deiner Daten verwenden willst! Du kannst zum Beispiel die durchschnittlichen Tore nach Saison und Land oder nach Kalenderjahr (aus der Datumsspalte) berechnen.
In dieser Übung berechnest du die durchschnittliche Anzahl der Heim- und Auswärtstore, die Legia Warszawa und seine Gegner in jeder Saison erzielt haben, aufgeteilt nach Monat.
Diese Übung ist Teil des Kurses
Datenbearbeitung in SQL
Anleitung zur Übung
- Erstelle zwei Fensterfunktionen, die den Durchschnitt der Heim- und Auswärtstore nach Saison und Monat aufteilen.
- Filtere den Datensatz nach der Mannschafts-ID von Legia Warszawa(
8673
), damit die Fensterberechnung nur Spiele mit dieser Mannschaft enthält.
Interaktive Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
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;