CommencezCommencez gratuitement

Comparer des périodes avec LAG

Le bureau régional de l'Idaho souhaite voir combien de tests sont effectués à chaque période de test (année et mois) où elle est sélectionnée, et les comparer à la période précédente. Ils aimeraient commencer par le site d'essai 13903 dans le comté de Minidoka.

Cette activité fait partie du cours

Introduction à Redshift

Voir le cours

Instructions de l’exercice

  • Créez une CTE, minidoka_13903, qui sélectionne toutes les colonnes de idaho_sample et convertit sample_date en une date comme colonne additionnelle (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 à l'aide d'une fonction de fenêtre.

Exercice interactif pratique

Essayez cet exercice en complétant ce code d’exemple.

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;
Modifier et exécuter le code