Nombre maximal mobile de médailles des athlètes chinois
Les cadres vous permettent de « jeter un œil » vers l'avant ou vers l'arrière sans avoir à utiliser au préalable les fonctions de récupération relatives, LAG
et LEAD
, pour récupérer les valeurs des lignes précédentes dans la ligne actuelle.
Cet exercice fait partie du cours
Statistiques récapitulatives et fonctions de fenêtrage PostgreSQL
Instructions
- Indiquez les athlètes, les médailles remportées et le nombre maximal de médailles remportées, en comparant uniquement les deux derniers athlètes et les athlètes actuels, classés par ordre alphabétique selon leur nom.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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;