LAG ile dönemleri karşılaştırma
Idaho saha ofisi, seçilen her test döneminde (yıl ve ay) kaç test yapıldığını ve bunun bir önceki dönemle karşılaştırmasını görmek istiyor. Minidoka ilçesindeki 13903 numaralı test sahasıyla başlamak istiyorlar.
Bu egzersiz, kursun bir parçasıdır
Redshift’e Giriş
Egzersiz talimatları
- İstasyon 13903 için,
idaho_sampletablosundaki tüm sütunları seçen vesample_datealanını DATE'e çevirerek ek bir sütun (date_sampled) olarak ekleyenminidoka_13903adlı bir CTE oluştur. - Ana sorguda:
- Geçerli ay için kayıtları say
- Bir pencere işleviyle önceki ay için kayıtları say.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
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;