Löpande genomsnitt och glidande medelvärde för årlig temperatur
Som datascientist på ett meteorologiskt forskningscenter vill du beräkna ett tidsjämnat genomsnitt av den årliga temperaturen i varje delstat, allteftersom temperaturen förändras över åren. Sedan jämför du det aktuella årets genomsnittstemperatur med det glidande medelvärdet för de föregående fem åren.
Ett common table expression beräknar det årliga genomsnittet av den månatliga medeltemperaturen för varje delstat. Eftersom det finns bara en väderstation per delstat är gruppering efter delstat ekvivalent med gruppering efter station.
Den här övningen är en del av kursen
Tidsserieanalys i PostgreSQL
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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;