Tìm ba giá trị cao nhất cho mỗi phân vùng
Bạn làm việc tại một đài khí tượng và giám đốc trạm yêu cầu bạn xác định ba mức nhiệt độ hàng tháng cao nhất cho mỗi trạm thời tiết trong năm 2017. Bạn biết rằng để làm được điều này, bạn sẽ cần tạo một hàm cửa sổ để đánh số các hàng.
Vì bạn đang tìm các mức nhiệt độ hàng tháng cao nhất, bạn cần đảm bảo sắp xếp theo t_monthly_max giảm dần để các nhiệt độ cao nhất được đánh số trước.
Bạn có sẵn hai bảng: temperatures_monthly và temperature_stations.
Bài tập này là một phần của khóa học
Phân tích chuỗi thời gian trong PostgreSQL
Hướng dẫn bài tập
- Tìm ba nhiệt độ hàng tháng cao nhất cho mỗi
station_idvàstatetương ứng, trong năm 2017.
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
-- 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, ___;