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

Eksik tarihlerle aylık ortalama

Verilerdeki her ay için, Evanston 311’de günde oluşturulan ortalama talep sayısını bul.

Bu kez, hiç talep olmayan tarihleri göz ardı etme.

Bu egzersiz

SQL ile Keşifsel Veri Analizi

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

Egzersiz talimatları

  • 2016-01-01’den 2018-06-30’a kadar bir tarih serisi üret.
  • Seriyi, günde oluşturulan talep sayısını sayan bir alt sorgu ile birleştir.
  • Ayları elde etmek için date_trunc() kullan; tüm tarihleri içeren date üzerinden yap, day üzerinden DEĞİL.
  • NULL count değerlerini 0 ile değiştirmek için coalesce() kullan. Bu değerin ortalamasını hesapla.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

-- generate series with all days from 2016-01-01 to 2018-06-30
WITH all_days AS 
     (SELECT generate_series(___,
                             ___,
                             ___::___) AS date),
     -- Subquery to compute daily counts
     daily_count AS 
     (SELECT date_trunc('day', date_created) AS day,
             count(*) AS count
        FROM evanston311
       GROUP BY day)
-- Aggregate daily counts by month using date_trunc
SELECT ___ AS month,
       -- Use coalesce to replace NULL count values with 0
       avg(coalesce(___, ___)) AS average
  FROM all_days
       LEFT JOIN daily_count
       -- Joining condition
       ON all_days.___=daily_count.___
 GROUP BY month
 ORDER BY month; 
Kodu Düzenle ve Çalıştır