The match is OVER
La clause OVER() vous permet d'appliquer une fonction d'agrégation à l'ensemble d'un jeu de données, un peu comme avec des sous-requêtes dans SELECT. La clause OVER() offre d'importants avantages par rapport aux sous-requêtes dans SELECT — notamment, vos requêtes s'exécuteront plus rapidement et OVER() propose une grande variété de fonctions et de clauses additionnelles que nous verrons plus loin dans ce chapitre.
Dans cet exercice, vous allez reprendre certaines requêtes des chapitres précédents en utilisant la clause OVER().
Cette activité fait partie du cours
Manipulation de données en SQL
Instructions de l’exercice
- Sélectionnez l'
IDdu match, lenamedu pays, laseason,home_goaletaway_goalà partir des tablesmatchetcountry. - Complétez la requête qui calcule le nombre moyen de buts marqués au total, puis inclut la valeur agrégée dans chaque rangée à l'aide d'une fonction de fenêtre.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
SELECT
-- Select the match id, country name, season, home, and away goals
___,
c.___ AS country,
m.season,
___.home_goal,
___,
-- Use a window to include the aggregate average in each row
___(___.home_goal + ___) ___ AS overall_avg
FROM match AS m
LEFT JOIN country AS c ON m.country_id = c.id;