Zoek de drie hoogste waarden per partitie
Je werkt bij een meteorologisch observatorium en de stationsdirecteur heeft je gevraagd om voor elk weerstation de drie hoogste maandtemperaturen voor het jaar 2017 te achterhalen. Je weet dat je hiervoor een windowfunctie moet gebruiken om de rijen te nummeren.
Omdat je op zoek bent naar de hoogste maandtemperaturen, wil je ervoor zorgen dat je sorteert op t_monthly_max in aflopende volgorde, zodat de hoogste temperaturen eerst worden genummerd.
Er zijn twee tabellen beschikbaar: temperatures_monthly en temperature_stations.
Deze oefening maakt deel uit van de cursus
Tijdreeksanalyse in PostgreSQL
Oefeninstructies
- Zoek de drie hoogste maandtemperaturen voor elke
station_iden bijbehorendestate, voor het jaar 2017.
Interactieve oefening met praktijkervaring
Probeer deze oefening door deze voorbeeldcode aan te vullen.
-- Three highest monthly temps per station for 2017
SELECT * FROM
( SELECT
ts.station_id,
ts.state,
tm.year_month,
tm.t_monthly_max,
___ AS rank
FROM temperatures_monthly AS tm
JOIN temperature_stations AS ts USING(station_id)
WHERE ___
) AS temp_2017
WHERE ___
ORDER BY station_id, ___;