ComeçarComece de graça

Encontrar datas ausentes

A função generate_series() pode ser útil para identificar datas ausentes.

Relembre:

generate_series(from, to, interval)

onde from e to são dates ou timestamps, e interval pode ser especificado como uma string com um número e uma unidade de tempo, como '1 month'.

Há algum dia nos dados do 311 de Evanston em que nenhuma solicitação foi criada?

Este exercício faz parte do curso

Análise Exploratória de Dados em SQL

Ver curso

Instruções do exercício

  1. Escreva uma subconsulta usando generate_series() para obter todas as datas entre o min() e o max() de date_created em evanston311.
  2. Escreva outra subconsulta para selecionar todos os valores de date_created como datas a partir de evanston311.
  3. As duas subconsultas devem produzir valores do tipo date (procure pelo ::).
  4. Selecione as datas (day) da primeira subconsulta que estejam NOT IN nos resultados da segunda subconsulta. Isso fornece os dias que não aparecem em date_created.

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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);
Editar e executar o código