Missing dates ढूँढें
generate_series() फंक्शन missing dates पहचानने में उपयोगी हो सकता है.
स्मरण करें:
generate_series(from, to, interval)
जहाँ from और to dates या timestamps होते हैं, और interval को किसी संख्या और समय-इकाई के साथ string के रूप में लिखा जा सकता है, जैसे '1 month'.
क्या Evanston 311 डेटा में ऐसे दिन हैं जब कोई request बनाई ही नहीं गई?
यह अभ्यास पाठ्यक्रम का हिस्सा है
SQL में Exploratory Data Analysis
अभ्यास निर्देश
generate_series()का उपयोग करते हुए एक subquery लिखिए जोevanston311मेंdate_createdकेmin()औरmax()के बीच की सभी dates दे.- एक और subquery लिखिए जो
evanston311सेdate_createdके सभी मानों को date के रूप में चुने. - दोनों subqueries को
dateटाइप के मान देने चाहिए (ध्यान दें::पर). - पहली subquery से वे dates (
day) चुनिए जो दूसरी subquery के नतीजों मेंNOT INहों. इससे आपको वे दिन मिलेंगे जोdate_createdमें मौजूद नहीं हैं.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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);