Знайдіть відсутні дати
Функція generate_series() корисна для виявлення відсутніх дат.
Згадайте:
generate_series(from, to, interval)
де from і to — це дати або позначки часу, а interval можна задати як рядок із числом і одиницею часу, наприклад '1 month'.
Чи є в даних Evanston 311 дні, коли не було створено жодного запиту?
Ця вправа є частиною курсу
Розвідувальний аналіз даних у SQL
Інструкції до вправи
- Напишіть підзапит із
generate_series(), щоб отримати всі дати міжmin()іmax()date_createdуevanston311. - Напишіть ще один підзапит, щоб вибрати всі значення
date_createdяк дати зevanston311. - Обидва підзапити мають повертати значення типу
date(зверніть увагу на::). - Виберіть дати (
day) з першого підзапиту, якихNOT INу результатах другого підзапиту. Це дасть вам дні, яких немає вdate_created.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
SELECT day
-- 1) Subquery to generate all dates
-- from min to max date_created
FROM (SELECT generate_series(___(___),
___(___),
___)::___ AS day
-- What table is date_created in?
FROM ___) AS all_dates
-- 4) Select dates (day from above) that are NOT IN the subquery
WHERE day ___
-- 2) Subquery to select all date_created values as dates
(SELECT ___::___
FROM evanston311);