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

Nhiệt độ trung bình lũy kế và trung bình trượt theo năm

Là một nhà khoa học dữ liệu tại trung tâm nghiên cứu khí tượng, bạn muốn lấy giá trị trung bình theo thời gian (được làm mượt) của nhiệt độ hằng năm ở từng bang khi nhiệt độ của mỗi bang thay đổi qua các năm. Sau đó, so sánh nhiệt độ trung bình của năm hiện tại với trung bình trượt của nhiệt độ hằng năm trong năm năm trước đó.

Một common table expression cho ra nhiệt độ trung bình hằng năm được tính từ nhiệt độ trung bình theo tháng cho mỗi bang. Vì mỗi bang chỉ có một trạm thời tiết, nhóm theo bang tương đương với nhóm theo trạm.

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

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.

-- Running average of the yearly avg temperature
WITH yearly AS(
	SELECT
		state, 
	    DATE_PART('year', year_month)::INTEGER AS year, 
	    AVG(t_monthly_avg) AS yearly_avg
	FROM temperatures_monthly JOIN temperature_stations USING(station_id)
    WHERE t_monthly_avg > -9999
	GROUP BY state, year
)
SELECT
	state,
	year,
	yearly_avg,
	___ OVER (
		___ 
		___ 
		ROWS BETWEEN ___)
        AS running_yearly_avg
FROM yearly
ORDER BY state, year;
Chỉnh sửa và Chạy Mã