Comparando períodos com LAG
O escritório de campo de Idaho quer ver quantos testes são realizados em cada período de teste (ano e mês) em que ele é selecionado e compará-lo com o anterior. Eles gostariam de começar pelo ponto de amostragem 13903, no condado de Minidoka.
Este exercício faz parte do curso
Introdução ao Redshift
Instruções do exercício
- Crie uma CTE,
minidoka_13903, selecionando todas as colunas deidaho_samplee convertendosample_datepara uma data como uma coluna adicional (date_sampled) para a estação 13903. - Na consulta principal:
- Conte os registros do mês atual
- Conte os registros do mês anterior por meio de uma função de janela.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
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;