IniziaInizia gratis

Trova le date mancanti

La funzione generate_series() è utile per identificare le date mancanti.

Ricorda:

generate_series(from, to, interval)

dove from e to sono date o timestamp, e interval può essere specificato come stringa con un numero e un'unità di tempo, ad esempio '1 month'.

Ci sono giorni nei dati di Evanston 311 in cui non è stata creata alcuna richiesta?

Questo esercizio fa parte del corso

Analisi esplorativa dei dati in SQL

Visualizza il corso

Istruzioni dell'esercizio

  1. Scrivi una subquery con generate_series() per ottenere tutte le date tra min() e max() di date_created in evanston311.
  2. Scrivi un'altra subquery per selezionare tutti i valori di date_created come date da evanston311.
  3. Entrambe le subquery devono produrre valori di tipo date (cerca ::).
  4. Seleziona le date (day) dalla prima subquery che NOT IN i risultati della seconda subquery. In questo modo ottieni i giorni che non compaiono in date_created.

Esercizio pratico interattivo

Prova a risolvere questo esercizio completando il codice di esempio.

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);
Modifica ed esegui il codice