누락된 날짜 찾기
generate_series() 함수는 누락된 날짜를 찾을 때 유용합니다.
다음을 기억하세요:
generate_series(from, to, interval)
여기서 from과 to는 date 또는 timestamp이고, interval은 '1 month'처럼 숫자와 시간 단위를 문자열로 지정할 수 있습니다.
Evanston 311 데이터에서 접수된 요청이 하나도 없는 날이 있었나요?
이 연습은 강의의 일부입니다
SQL로 하는 탐색적 데이터 분석
연습 안내
generate_series()를 사용해evanston311의date_created에서min()과max()사이의 모든 날짜를 가져오는 하위 쿼리를 작성하세요.evanston311에서date_created값을 날짜로 선택하는 또 다른 하위 쿼리를 작성하세요.- 두 하위 쿼리 모두 결과가
date형식이 되도록 하세요(::를 확인하세요). - 첫 번째 하위 쿼리에서 두 번째 하위 쿼리 결과에
NOT IN인 날짜(day)를 선택하세요. 이렇게 하면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);