Găsește datele lipsă
Funcția generate_series() poate fi utilă pentru identificarea datelor lipsă.
Amintește-ți:
generate_series(from, to, interval)
unde from și to sunt date sau timestamp-uri, iar interval poate fi specificat ca un șir de caractere cu un număr și o unitate de timp, de exemplu '1 month'.
Există zile în datele Evanston 311 în care nu a fost creată nicio solicitare?
Acest exercițiu face parte din cursul
Analiza Exploratorie a Datelor în SQL
Instrucțiuni pentru exercițiu
- Scrie o subinterogare care folosește
generate_series()pentru a obține toate datele dintremin()șimax()ale coloaneidate_createddinevanston311. - Scrie o altă subinterogare care să selecteze toate valorile din
date_createdca date dinevanston311. - Ambele subinterogări ar trebui să producă valori de tip
date(caută::). - Selectează datele (
day) din prima subinterogare careNOT INrezultatele celei de-a doua subinterogări. Astfel obții zilele care nu apar îndate_created.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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);