Порівняння періодів за допомогою lag
Польовий офіс Айдахо хоче побачити, скільки тестів виконують у кожному періоді тестування (рік і місяць), коли його вибрано, і порівняти це з попереднім періодом. Вони хочуть почати з тестового майданчика 13903 в окрузі Мінідока.
Ця вправа є частиною курсу
Вступ до Redshift
Інструкції до вправи
- Створіть CTE
minidoka_13903, вибравши всі стовпці зidaho_sampleі перетворившиsample_dateна тип date як додатковий стовпець (date_sampled) для станції 13903. - У головному запиті:
- Порахуйте записи для поточного місяця
- Порахуйте записи для попереднього місяця за допомогою віконної функції.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
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;