找出每個分割區的前三高數值
你在氣象觀測站工作。站長要你找出每個氣象測站在 2017 年的月最高溫前三高。你知道要達成這件事,需要建立一個視窗函式來替各列編號。
因為你要找的是月最高溫,所以要確保以遞減順序依 t_monthly_max 排序,讓最高溫的紀錄先得到編號。
你可以使用兩張資料表:temperatures_monthly 和 temperature_stations。
本練習屬於課程
PostgreSQL 的時間序列分析
練習說明
- 找出 2017 年每個
station_id及其對應state的月最高溫前三高紀錄。
動手互動練習
試著完成這個範例程式碼,體驗一下這個練習。
-- 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, ___;