Hitta de tre högsta värdena per partition
Du arbetar på ett meteorologiskt observatorium och stationschefen har bett dig identifiera de tre högsta månatliga temperaturerna för varje väderstation under 2017. För att lösa detta behöver du skapa en fönsterfunktion som numrerar raderna.
Eftersom du letar efter de högsta månatliga temperaturerna ska du sortera efter t_monthly_max i fallande ordning, så att de högsta temperaturerna numreras först.
Du har tillgång till två tabeller: temperatures_monthly och temperature_stations.
Den här övningen är en del av kursen
Tidsserieanalys i PostgreSQL
Övningsinstruktioner
- Hitta de tre högsta månatliga temperaturerna för varje
station_idoch tillhörandestateunder 2017.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
-- 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, ___;