Media mobilă și media cumulativă a temperaturii anuale
În calitate de om de știință al datelor la un centru de cercetare meteorologică, dorești să obții o medie a temperaturii anuale netezită în timp pentru fiecare stat, pe măsură ce temperatura acestuia evoluează de-a lungul anilor. Apoi, compară media temperaturii din anul curent cu media mobilă a temperaturilor anuale din ultimii cinci ani.
O expresie de tabel comună calculează media anuală a temperaturii medii lunare pentru fiecare stat. Deoarece există o singură stație meteo per stat, gruparea după stat este echivalentă cu gruparea după stație.
Acest exercițiu face parte din cursul
Analiza seriilor de timp în PostgreSQL
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
-- 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;