Aan de slagBegin gratis

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

Bekijk cursus

Oefeninstructies

  • Zoek de drie hoogste maandtemperaturen voor elke station_id en bijbehorende state, 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, ___;
Code bewerken en uitvoeren