CommencerCommencer gratuitement

Qui a dit que c’est terminé avec OVER ?

Les fonctions de fenêtre vous permettent de créer une instruction RANK d’informations en fonction de n’importe quelle variable que vous souhaitez utiliser pour trier vos données. Lors de la configuration, vous devrez spécifier la colonne/le calcul que vous souhaitez utiliser pour calculer votre classement. Pour ce faire, vous devez inclure une clause ORDER BY dans la clause OVER(). Vous trouverez ci-dessous un exemple :

SELECT 

    id,

    RANK() OVER(ORDER BY home_goal) AS rank

FROM match;

Dans cet exercice, vous allez créer un ensemble de données classant les matchs selon les championnats qui enregistrent, en moyenne, le plus grand nombre de buts par match.

Cet exercice fait partie du cours

Manipulation de données en SQL

Afficher le cours

Instructions

  • Sélectionnez le nom du championnat et la moyenne totale des buts marqués à partir de league et match.
  • Complétez la fonction de fenêtre pour classer les moyennes de buts marqués dans tous les championnats de la base de données.
  • Ordonnez le classement en fonction de la moyenne totale des buts marqués à domicile et à l’extérieur.

Exercice interactif pratique

Essayez cet exercice en complétant cet exemple de code.

SELECT 
	-- Select the league name and average goals scored
	___ AS league,
    ___(___ + ___.away_goal) AS avg_goals,
    -- Rank each league according to the average goals
    ___ ___(___ ___ AVG(___.home_goal + ___)) AS league_rank
FROM league AS l
LEFT JOIN match AS m 
ON l.id = m.country_id
WHERE m.season = '2011/2012'
GROUP BY l.name
-- Order the query by the rank you created
ORDER BY ___;
Modifier et exécuter le code