Maximul mobil al medaliilor atletilor scandinavi
Cadrele îți permit să restricționezi rândurile transmise ca intrare funcției tale de fereastră la o fereastră glisantă, al cărei start și sfârșit le definești tu.
Adăugând un cadru funcției de fereastră, poți calcula metrici „mobile", ale căror intrări se deplasează de la un rând la altul.
Acest exercițiu face parte din cursul
Statistici sumare și funcții de fereastră în PostgreSQL
Instrucțiuni pentru exercițiu
- Returnează anul, medaliile obținute și numărul maxim de medalii obținute, comparând doar anul curent cu anul următor.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
WITH Scandinavian_Medals AS (
SELECT
Year, COUNT(*) AS Medals
FROM Summer_Medals
WHERE
Country IN ('DEN', 'NOR', 'FIN', 'SWE', 'ISL')
AND Medal = 'Gold'
GROUP BY Year)
SELECT
-- Select each year's medals
___,
___,
-- Get the max of the current and next years' medals
___ OVER (ORDER BY ___ ASC
ROWS BETWEEN ___
AND ___) AS Max_Medals
FROM Scandinavian_Medals
ORDER BY Year ASC;