PARTITION BY – Aufteilen nach einer Spalte
Mit der PARTITION BY
-Klausel kannst du separate „Fenster“ auf der Grundlage von Spalten berechnen, in die du deine Ergebnisse unterteilen möchtest. Du kannst zum Beispiel eine einzelne Spalte erstellen, die einen Gesamtdurchschnitt der erzielten Tore für jede Saison berechnet.
In dieser Übung erstellst du einen Datensatz mit Spielen von Legia Warszawa (Legia Warschau), dem bestplatzierten Team in Polen, und vergleichst die Leistung in den einzelnen Spielen mit dem Gesamtdurchschnitt der Saison.
Wo siehst du mehr Ausreißer? Sind es die Heim- oder die Auswärtsspiele von Legia Warszawa?
Diese Übung ist Teil des Kurses
Datenbearbeitung in SQL
Anleitung zur Übung
- Vervollständige die beiden Fensterfunktionen, die die durchschnittliche Anzahl der Heim- und Auswärtstore berechnen. Unterteile die Fensterfunktionen nach Saison, um für jede Saison einen eigenen Durchschnitt zu berechnen.
- Filtere die Abfrage so, dass sie nur Spiele von Legia Warszawa enthält (
id = 8673
).
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 the average goals scored partitioned by season
___(___) ___(___ ___ ___) AS season_homeavg,
___(___) ___(___ ___ ___) AS season_awayavg
FROM match
-- Filter the data set for Legia Warszawa matches only
WHERE
___ = ___
OR ___ = ___
ORDER BY (home_goal + away_goal) DESC;