CommencezCommencez gratuitement

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

Voir le cours

Instructions de l’exercice

  • Sélectionnez l'ID du match, le name du pays, la season, home_goal et away_goal à partir des tables match et country.
  • 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;
Modifier et exécuter le code