So sánh các kỳ với lag
Văn phòng hiện trường Idaho muốn xem có bao nhiêu bài kiểm tra được thực hiện trong mỗi kỳ kiểm tra (năm và tháng) khi được chọn, và so sánh với kỳ trước đó. Họ muốn bắt đầu với điểm kiểm tra 13903 ở quận Minidoka.
Bài tập này là một phần của khóa học
Giới thiệu về Redshift
Hướng dẫn bài tập
- Xây dựng một CTE,
minidoka_13903, chọn tất cả các cột từidaho_samplevà chuyểnsample_datesang kiểu date thành một cột bổ sung (date_sampled) cho trạm 13903. - Trong truy vấn chính:
- Đếm số bản ghi cho tháng hiện tại
- Đếm số bản ghi cho tháng trước thông qua một hàm cửa sổ.
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.
WITH minidoka_13903 AS (
SELECT *,
-- Converts the sample_date to a date
___(___ AS ___) as date_sampled
FROM public_intro_redshift.idaho_samples
WHERE fk_monitoringlocation = 13903
)
SELECT DATE_PART('year', date_sampled) as sample_year,
DATE_PART('month', date_sampled) as sample_month,
-- Count the records
___,
-- Count the records for the prior month
___(___, ___) OVER (
ORDER BY DATE_PART('year', date_sampled),
DATE_PART('month', date_sampled)
) AS prior_readings
-- Use the prefiltered CTE you created above
FROM ___
GROUP BY sample_year,
sample_month
ORDER BY sample_year DESC,
sample_month DESC;