CommencerCommencer gratuitement

Athlète le plus titré par région

Votre objectif dans cet exercice est d’afficher l’athlète le plus titré par région. Pour configurer ce rapport, vous devez utiliser la fonction de fenêtre ROW_NUMBER(), qui numérote chaque ligne avec un entier croissant : la première ligne vaut 1, la seconde 2, et ainsi de suite.

La syntaxe de cette fonction est : ROW_NUMBER() OVER (PARTITION BY field ORDER BY field). Remarquez qu’il n’y a aucun argument dans l’appel initial de la fonction.

Une fois correctement paramétrée, une valeur row_num = 1 représente l’athlète le plus titré au sein de sa région. Si plusieurs athlètes ont le même total, n’importe lequel des ex æquo peut apparaître en tête. Notez que vous ne pouvez pas utiliser un calcul de fenêtre dans une clause HAVING ou WHERE ; vous devrez donc utiliser une sous-requête pour filtrer.

N’hésitez pas à consulter le schéma E:R. Nous utiliserons summer_games_clean pour éviter la gestion des valeurs nulles.

Cet exercice fait partie du cours

Réaliser des rapports en SQL

Afficher le cours

Exercice interactif pratique

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

SELECT 
	-- Query region, athlete_name, and total gold medals
	____, 
    ____ AS athlete_name, 
    ____ AS total_golds,
    -- Assign a regional rank to each athlete
    ____ AS row_num
FROM ____ AS s
JOIN ____ AS a
ON ____
JOIN ____ AS c
ON ____
GROUP BY ____;
Modifier et exécuter le code