Confrontare periodi con LAG
L’ufficio sul campo dell’Idaho vuole vedere quante analisi vengono eseguite in ciascun periodo (anno e mese) in cui è selezionato, e confrontarle con il periodo precedente. Vorrebbero iniziare con il sito di test 13903 nella contea di Minidoka.
Questo esercizio fa parte del corso
Introduzione a Redshift
Istruzioni dell'esercizio
- Crea una CTE,
minidoka_13903, selezionando tutte le colonne daidaho_samplee convertendosample_datein una data come colonna aggiuntiva (date_sampled) per la stazione 13903. - Nella query principale:
- Conta i record per il mese corrente
- Conta i record per il mese precedente tramite una funzione finestra.
Esercizio pratico interattivo
Prova a risolvere questo esercizio completando il codice di esempio.
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;