LoslegenKostenlos loslegen

Zeiträume mit LAG vergleichen

Das Idaho-Regionalbüro möchte sehen, wie viele Tests in jedem Testzeitraum (Jahr und Monat) durchgeführt werden, wenn er ausgewählt ist, und dies mit dem vorherigen Zeitraum vergleichen. Gestartet werden soll mit Teststandort 13903 im County Minidoka.

Diese Übung ist Teil des Kurses

Einführung in Redshift

Kurs anzeigen

Anleitung zur Übung

  • Erstelle eine CTE, minidoka_13903, die alle Spalten aus idaho_sample auswählt und sample_date als zusätzliches Feld (date_sampled) in ein Datum umwandelt, für Station 13903.
  • In der Hauptabfrage:
    • Zähle die Datensätze für den aktuellen Monat
    • Zähle die Datensätze für den Vormonat über eine Window-Funktion.

Interaktive Übung

Vervollständige den Beispielcode, um diese Übung erfolgreich abzuschließen.

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;
Code bearbeiten und ausführen