Průběžný a klouzavý průměr roční teploty
Jako datový vědec v meteorologickém výzkumném centru chceš získat časově vyhlazený průměr roční teploty v každém státě, jak se teplota v jednotlivých státech vyvíjí v průběhu let. Poté porovnej průměrnou teplotu v aktuálním roce s klouzavým průměrem ročních teplot za předchozích pět let.
Common table expression poskytuje roční průměr měsíčních průměrných teplot pro každý stát. Protože se v každém státě nachází pouze jedna meteorologická stanice, je seskupení podle státu ekvivalentní seskupení podle stanice.
Toto cvičení je součástí kurzu
Time Series Analysis in PostgreSQL
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
-- Running average of the yearly avg temperature
WITH yearly AS(
SELECT
state,
DATE_PART('year', year_month)::INTEGER AS year,
AVG(t_monthly_avg) AS yearly_avg
FROM temperatures_monthly JOIN temperature_stations USING(station_id)
WHERE t_monthly_avg > -9999
GROUP BY state, year
)
SELECT
state,
year,
yearly_avg,
___ OVER (
___
___
ROWS BETWEEN ___)
AS running_yearly_avg
FROM yearly
ORDER BY state, year;