SQL 조회와 일별 집계
원본 교통 표를 필터링하고 일별 비교 표를 만듭니다.
진도 0%
레슨
- 행과 열 선택
교통 표에서 날짜·지역·통행량을 선택하고 결과 열과 정렬 순서를 고정합니다.
- 기간과 NULL 필터
기간 경계와 NULL을 포함한 교통 표에서 분석 대상 행만 반환합니다.
- 지역별 합계와 건수
지역·날짜별 SUM·COUNT와 NULL 제외 건수를 계산합니다.
- 집계값을 원본과 대조
일별 집계 SQL을 파일로 저장하고 작은 원본 표본의 손계산 결과와 비교합니다.
SQL 조회와 일별 집계 결과물 통합
m01-data-contract의 검증된 solution을 시작 ZIP에 포함합니다. 합성 원본 7행을 보존하고 완전 일치 중복을 제거한 SQLite 조회용 뷰에서 지역·날짜별 교통 집계와 대조 자료를 만듭니다.
요구사항
- 이전 raw·source·dictionary·question·audit와 계약 테스트를 보존합니다. CSV 빈칸은 NULL, 0은 정수로 적재합니다.
- queries/daily.sql은 traffic_unique에서 A/B, 2026-09-01~03 양 끝 포함으로 집계합니다. 지역·날짜 오름차순, total_vehicles와 valid_observations를 출력합니다.
- python3 pipeline.py로 daily.csv를 생성합니다. 동일 행은 하나만 유지하고 같은 키의 값 충돌은 KEY 오류로 거부합니다.
- 원본 470대와 중복 제거 후 390대의 차이 80대를 설명합니다. 미관측 그룹은 합계 빈칸·유효 관측 0으로 유지합니다.
완료 기준
- python3 -m unittest discover -s tests -v: 기존 계약 10개와 SQL 확장 9개 통과, starter는 합계 검사 일부 실패합니다.
- 기간 시작/종료·기간 밖·대상 밖·NULL·0·빈 표·중복·키 충돌 fixture를 검사합니다.
- daily.csv 6행, 합계390·유효관측5. 같은 정책의 원본과 합계가 일치하며 재실행 출력과 원본 바이트가 같습니다.
python3 -m unittest discover -s tests -v미션 시작 코드
모범 답안
모범 답안 내려받기검토 기준
- 판단 근거와 제외 조건을 데이터와 연결해 설명합니다.
- 앞 단계 산출물을 재사용하고 원본을 보존합니다.