Erste SchritteKostenlos loslegen

Fehlende Datumsangaben finden

Die Funktion generate_series() kann nützlich sein, um fehlende Daten zu ermitteln.

Nicht vergessen:

generate_series(from, to, interval)

wobei from und to Datumsangaben oder Zeitstempel sind und interval als String mit einer Zahl und einer Zeiteinheit angegeben werden kann, z. B. '1 month'.

Gibt es Tage in den Evanston 311-Daten, an denen keine Anfragen erstellt wurden?

Diese Übung ist Teil des Kurses

Explorative Datenanalyse in SQL

Kurs anzeigen

Anleitung zur Übung

  1. Schreibe eine Unterabfrage mit generate_series(), um alle Daten zwischen min() und max() date_created in evanston311 zu erhalten.
  2. Schreibe eine weitere Unterabfrage, um alle Werte von date_created als Datum aus evanston311 auszuwählen.
  3. Beide Unterabfragen sollten Werte vom Typ date liefern (siehe ::).
  4. Wähle Daten (day) aus der ersten Unterabfrage aus, die NOT IN zu den Ergebnissen der zweiten Unterabfrage gehören. So erhältst du Tage, die nicht in date_created sind.

Interaktive Übung zum Anfassen

Probieren Sie diese Übung aus, indem Sie diesen Beispielcode ausführen.

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);
Bearbeiten und Ausführen von Code