Membandingkan periode dengan lag
Kantor lapangan Idaho ingin melihat berapa banyak pengujian yang dilakukan pada tiap periode uji (tahun dan bulan) yang dipilih, dan membandingkannya dengan periode sebelumnya. Mereka ingin memulainya dengan lokasi uji 13903 di county Minidoka.
Latihan ini adalah bagian dari kursus
Pengantar Redshift
Petunjuk latihan
- Bangun sebuah CTE,
minidoka_13903, yang memilih semua kolom dariidaho_sampledan mengonversisample_datemenjadi tipe date sebagai kolom tambahan (date_sampled) untuk stasiun 13903. - Dalam kueri utama:
- Hitung jumlah record untuk bulan saat ini
- Hitung jumlah record untuk bulan sebelumnya menggunakan fungsi window.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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;