PARTITION BY sur plusieurs colonnes
La clause PARTITION BY permet de répartir des moyennes de fenêtre selon plusieurs points de données (colonnes). Vous pouvez même calculer les informations dont vous avez besoin pour partitionner vos données ! Par exemple, vous pouvez calculer la moyenne des buts marqués par saison et par pays, ou encore par année civile (extrait de la colonne de date).
Dans cet exercice, vous allez calculer le nombre moyen de buts à domicile et à l'extérieur marqués par Legia Warszawa, ainsi que par ses adversaires, partitionnés par mois dans chaque saison.
Cette activité fait partie du cours
Manipulation de données en SQL
Instructions de l’exercice
- Construisez deux fonctions de fenêtre qui partitionnent la moyenne des buts à domicile et à l'extérieur par saison et par mois.
- Filtrez l'ensemble de données avec l'identifiant d'équipe (
8673) de Legia Warszawa afin que le calcul de fenêtre n'inclue que les matchs auxquels elle a participé.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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;