Rörligt maximum för kinesiska atleters medaljer
Ramar gör det möjligt att "titta" framåt eller bakåt utan att först använda de relativa hämtningsfunktionerna LAG och LEAD för att hämta tidigare raders värden till den aktuella raden.
Den här övningen är en del av kursen
PostgreSQL – Sammanfattande statistik och fönsterfunktioner
Övningsinstruktioner
- Returnera atleterna, antalet vunna medaljer och det maximala antalet vunna medaljer – jämför bara de två föregående atleterna och den aktuella atleten – sorterat i alfabetisk ordning efter atleternas namn.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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;