누락된 날짜가 있는 월 평균
데이터의 각 월별로, 하루에 생성된 Evanston 311 요청 수의 평균을 구하세요.
이번에는 요청이 없는 날짜도 제외하지 마세요.
이 연습은 강의의 일부입니다
SQL을 활용한 탐색적 데이터 분석
연습 안내
- 2016-01-01부터 2018-06-30까지의 날짜가 포함된 시리즈를 생성하세요.
- 시리즈를 서브쿼리와 조인하여 하루에 생성된 요청 수를 집계하세요.
- 모든 날짜가 포함된
date에서date_trunc()를 사용하여 월을 가져오세요. NOTday. coalesce()를 사용하여 NULL인count값을 0으로 대체하고, 해당 값의 평균을 계산하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
-- 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;