Maximum mobile des médailles des athlètes chinois
Les encadrements vous permettent de « jeter un coup d'œil » vers l'avant ou vers l'arrière sans devoir d'abord utiliser les fonctions de repérage relatif LAG et LEAD pour récupérer les valeurs des lignes précédentes dans la ligne courante.
Cette activité fait partie du cours
Fonctions de synthèse et de fenêtre dans PostgreSQL
Instructions de l’exercice
- Retournez les athlètes, les médailles obtenues et le nombre maximal de médailles obtenues, en ne comparant que les deux derniers athlètes et l'athlète courant, le tout ordonné par le nom des athlètes en ordre alphabétique.
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
WITH Chinese_Medals AS (
SELECT
Athlete, COUNT(*) AS Medals
FROM Summer_Medals
WHERE
Country = 'CHN' AND Medal = 'Gold'
AND Year >= 2000
GROUP BY Athlete)
SELECT
-- Select the athletes and the medals they've earned
___,
___,
-- Get the max of the last two and current rows' medals
___ OVER (ORDER BY ___ ASC
ROWS BETWEEN ___
AND ___) AS Max_Medals
FROM Chinese_Medals
ORDER BY Athlete ASC;