Inversez (OVER) vos résultats
Dans le dernier exercice, le classement généré par votre requête était organisé du plus petit au plus grand. En ajoutant l’instruction DESC
à votre fonction de fenêtre, vous pouvez créer un classement du plus grand au plus petit.
SELECT
id,
RANK() OVER(ORDER BY home_goal DESC) AS rank
FROM match;
Cet exercice fait partie du cours
Manipulation de données en SQL
Instructions
- Complétez les mêmes parties de la requête que dans l’exercice précédent.
- Complétez la fonction de fenêtre afin de classer chaque championnat en fonction de la moyenne des buts marqués, du plus élevé au plus bas.
- Triez la requête principale en fonction du classement que vous venez de créer.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
SELECT
-- Select the league name and average goals scored
___ AS league,
___(___ + m.away_goal) AS avg_goals,
-- Rank leagues in descending order by average goals
___ ___(___ ___ ___(___ + m.away_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
___ ___ ___;