Laufender Durchschnitt und gleitender Durchschnitt der Jahrestemperatur
Als Data Scientist in einem meteorologischen Forschungszentrum möchtest du einen zeitlich geglätteten Durchschnitt der Jahrestemperatur in jedem Bundesstaat berechnen, während sich die Temperaturen der einzelnen Bundesstaaten über die Jahre entwickeln. Anschließend vergleichst du die durchschnittliche Temperatur des aktuellen Jahres mit dem gleitenden Durchschnitt der Jahrestemperaturen der letzten fünf Jahre.
Eine Common Table Expression liefert den jährlichen Durchschnitt der monatlichen Durchschnittstemperaturen für jeden Bundesstaat. Da es pro Bundesstaat nur eine Wetterstation gibt, ist die Gruppierung nach Bundesstaat gleichbedeutend mit der Gruppierung nach Station.
Diese Übung ist Teil des Kurses
<Kurs>Zeitreihenanalyse in PostgreSQL</Kurs>Interaktive praktische Übung
Versuche dich an dieser Übung, indem du diesen Beispielcode vervollständigst.
-- 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;