BaşlayınÜcretsiz Başlayın

Eksik tarihleri bul

generate_series() fonksiyonu, eksik tarihleri belirlemede faydalı olabilir.

Anımsa:

generate_series(from, to, interval)

burada from ve to tarihler veya timestamp'lerdir ve interval, '1 month' gibi bir sayı ve zaman birimi içeren bir dize olarak belirtilebilir.

Evanston 311 verilerinde hiç talebin oluşturulmadığı günler var mı?

Bu egzersiz

SQL ile Keşifsel Veri Analizi

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  1. evanston311 tablosundaki date_created için min() ve max() değerleri arasındaki tüm tarihleri almak üzere generate_series() kullanan bir alt sorgu yaz.
  2. evanston311 içinden date_created değerlerinin tümünü tarih (date) olarak seçen başka bir alt sorgu yaz.
  3. Her iki alt sorgu da date tipinde değerler üretmeli (:: ifadesini ara).
  4. İlk alt sorgudan gelen tarihlerden (day), ikinci alt sorgunun sonuçlarında NOT IN olanları seç. Bu, date_created içinde yer almayan günleri verir.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

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);
Kodu Düzenle ve Çalıştır