Rörligt maximum för skandinaviska atleters medaljer
Ramar låter dig begränsa vilka rader som skickas som indata till din fönsterfunktion till ett glidande fönster som du definierar start och slut för.
Genom att lägga till en ram i din fönsterfunktion kan du beräkna "rörliga" mätvärden, vars indata förskjuts rad för rad.
Den här övningen är en del av kursen
PostgreSQL – Sammanfattande statistik och fönsterfunktioner
Övningsinstruktioner
- Returnera år, antal vunna medaljer och det maximala antalet vunna medaljer, med jämförelse enbart mellan det aktuella året och nästa år.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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;