ПочатиПочніть безкоштовно

Знайдіть відсутні дати

Функція generate_series() корисна для виявлення відсутніх дат.

Згадайте:

generate_series(from, to, interval)

де from і to — це дати або позначки часу, а interval можна задати як рядок із числом і одиницею часу, наприклад '1 month'.

Чи є в даних Evanston 311 дні, коли не було створено жодного запиту?

Ця вправа є частиною курсу

Розвідувальний аналіз даних у SQL

Переглянути курс

Інструкції до вправи

  1. Напишіть підзапит із generate_series(), щоб отримати всі дати між min() і max() date_created у evanston311.
  2. Напишіть ще один підзапит, щоб вибрати всі значення date_created як дати з evanston311.
  3. Обидва підзапити мають повертати значення типу date (зверніть увагу на ::).
  4. Виберіть дати (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);
Редагувати та запускати код