Temukan tanggal yang hilang
Fungsi generate_series() berguna untuk mengidentifikasi tanggal yang hilang.
Ingat kembali:
generate_series(from, to, interval)
di mana from dan to berupa date atau timestamp, dan interval dapat ditentukan sebagai string dengan angka dan satuan waktu, seperti '1 month'.
Apakah ada hari dalam data Evanston 311 ketika tidak ada permintaan yang dibuat?
Latihan ini adalah bagian dari kursus
Analisis Data Eksploratif di SQL
Petunjuk latihan
- Tulis subkueri menggunakan
generate_series()untuk mengambil semua tanggal antaramin()danmax()date_createddievanston311. - Tulis subkueri lain untuk memilih semua nilai
date_createdsebagai tipe date darievanston311. - Kedua subkueri harus menghasilkan nilai bertipe
date(perhatikan adanya::). - Pilih tanggal (
day) dari subkueri pertama yangNOT INhasil subkueri kedua. Ini memberi Anda hari-hari yang tidak ada dalamdate_created.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
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);