Maximul mobil al medaliilor atletelor chineze
Cadrele îți permit să „privești" înainte sau înapoi fără a folosi mai întâi funcțiile de accesare relativă, LAG și LEAD, pentru a aduce valorile rândurilor anterioare în rândul curent.
Acest exercițiu face parte din cursul
Statistici sumare și funcții de fereastră în PostgreSQL
Instrucțiuni pentru exercițiu
- Returnează atleții, medaliile obținute și numărul maxim de medalii obținute, comparând doar ultimii doi atleți și atletul curent, ordonând după numele atleților în ordine alfabetică.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;