Bắt đầu ngayBắt đầu miễn phí

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_monthlytemperature_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

Xem khóa học

Hướng dẫn bài tập

  • Tìm ba nhiệt độ hàng tháng cao nhất cho mỗi station_idstate tươ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, ___;
Chỉnh sửa và Chạy Mã