홈 › SQL 실무 › 04 / 9

기간별 통계 보고서

일·주·월 집계, 전년 동기 대비, 누적 달성률
섹션 6진행 0 / 9

기간별 통계 보고서: 일·주·월 집계, 전년 동기 대비, 누적 달성률

경영 보고서는 대개 "이번 달 매출은 얼마이고, 작년 같은 달보다 몇 % 늘었고, 목표는 몇 % 달성했는가" 를 묻습니다. 일·주·월 버킷으로 묶고, 전년 동월을 붙이고, 목표와 연 누적을 계산하는 패턴을 한 흐름으로 정리합니다. 빈 달이 있을 때 LAG(x, 12) 가 틀어지는 함정과 ISO 주의 연말 경계도 함께 봅니다.

1. 왜 배우는가

월간·주간 보고서 쿼리는 몇 년이 지나도 같은 모양으로 반복됩니다. 그런데 처음 만들 때 대부분 세 곳에서 틀립니다. 연말의 주 번호, 데이터가 없는 달, 그리고 "이번 달 1일부터 오늘까지" 를 전년과 같은 기간으로 비교하는 부분입니다. 숫자가 조금만 어긋나도 보고서 전체를 믿지 못하게 됩니다.

이 레슨은 기본 집계를 이미 아는 것을 전제로 그 위에 얹는 보고서 패턴만 다룹니다. 예제 데이터는 2024년 112월(3월은 주문 없음)과 2025년 16월의 주문 38건, 그리고 2025년 월 목표 6건입니다. 3월이 비어 있는 것이 이 레슨의 핵심 장치입니다.

중급 07 날짜 함수, 중급 10 집계, 고급 02 윈도 프레임, 고급 03 LAG 를 알면 이해가 쉽습니다. 날짜 채우기용 달력 조인은 중급 10 에서 본 방식을 한 번만 다시 씁니다.