Compararea perioadelor cu lag
Biroul de teren din Idaho dorește să vadă câte teste sunt efectuate în fiecare perioadă de testare (an și lună) în care este selectat, și să le compare cu perioada anterioară. Vor să înceapă cu stația de testare 13903 din comitatul Minidoka.
Acest exercițiu face parte din cursul
Introducere în Redshift
Instrucțiuni pentru exercițiu
- Construiește un CTE,
minidoka_13903, care să selecteze toate coloanele dinidaho_sampleși să converteascăsample_datela un tip de dată ca o coloană suplimentară (date_sampled) pentru stația 13903. - În interogarea principală:
- Numără înregistrările pentru luna curentă
- Numără înregistrările pentru luna anterioară printr-o funcție de fereastră.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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;