Comparer des périodes avec LAG
Le bureau régional de l’Idaho souhaite connaître le nombre de tests réalisés à chaque période (année et mois) lorsqu’elle est sélectionnée, et le comparer à la période précédente. Ils aimeraient commencer avec le site de test 13903 dans le comté de Minidoka.
Cet exercice fait partie du cours
Introduction à Redshift
Instructions
- Créez une CTE,
minidoka_13903, qui sélectionne toutes les colonnes deidaho_sampleet convertitsample_dateen date comme colonne supplémentaire (date_sampled) pour la station 13903. - Dans la requête principale :
- Comptez les enregistrements pour le mois en cours
- Comptez les enregistrements pour le mois précédent via une fonction de fenêtre.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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;