Začněte nyníZačněte zdarma

Porovnání období pomocí funkce LAG

Pobočka v Idahu chce vidět, kolik testů bylo provedeno v každém testovacím období (rok a měsíc), ve kterém bylo vybráno, a porovnat toto číslo s předchozím obdobím. Začít chce s testovacím místem 13903 v okresu Minidoka.

Toto cvičení je součástí kurzu

Introduction to Redshift

Zobrazit kurz

Pokyny k cvičení

  • Vytvoř CTE minidoka_13903, které vybere všechny sloupce z tabulky idaho_sample a přidá sloupec (date_sampled) s hodnotou sample_date převedenou na datový typ datum — a to pro stanici 13903.
  • V hlavním dotazu:
    • Spočítej záznamy pro aktuální měsíc
    • Spočítej záznamy pro předchozí měsíc pomocí okenní funkce.

Interaktivní cvičení na vyzkoušení si v praxi

Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.

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;
Upravit a spustit kód