| WEEK | LCT | RCT | DATERANGE | ----------------------------------------------- | 19 | 7 | 4 | 2013-05-12 TO 2013-05-18 | | 20 | 1 | 0 | 2013-05-19 TO 2013-05-25 |
[MySQL] 주별(주간) / 요일별 판매량 리포트 MySQL 쿼리 예제 (Weekly Report / Day of week Report)
판매 리포트(Sales Report) 프로그램을 작업에서
시간/기간별 기준은 리포트의 요소중에 중요한 요소로 차지합니다.
가계 주인은 주별로 판매 리포트를 통해서, 월의 초반 중반 후반의 판매량을 알고 싶어하고,
그리고, 요일별로 판매량을 알아서 제품을 요일별 준비량을 미리 알 수 있는 토대로 이용하게 됩니다.
MySQL에서 함수들인 DAYOFWEEK()와 WEEK(), YEARWEEK() 함수를 통해서,
요일별, 주간별 리포트 쿼리를 만들 수 있습니다.
아래는 요일별, 주간별 리포트를 위한 MySQL쿼리 예제들입니다.
해당 예제를 통해서, 형식에 맞게 수정해서 사용하면 쉽게 리포트 작성을 할 수 있습니다.
(Case 1) Day of week (월요일~일요일) 요일별 판매량
요일별 판매량 보고서는 특정 기간동안 Sun에서 Sat 요일별 판매량를 리포팅 해줍니다.
group by dayofweek()를 이용한 요일별 리포트
SELECT
|
(Case 2) Weekly 주별 판매량 (52주 기준)
주별로 판매량은 1년을 52주를 기준으로도 볼 수 있는 리포팅으로 사용도 가능합니다.
(Case2) Weekly 리포트의 쿼리 예제 1
group by YEAR()와 WEEK()를 이용한 주별 기준 통계
SELECT CONCAT(YEAR(reg_date),"/",Week(reg_date)) YYYYWeek ,CONCAT(DATE_FORMAT(DATE_ADD(reg_date, INTERVAL(1-DAYOFWEEK(reg_date)) DAY),"%m/%d/%Y"), " - " ,DATE_FORMAT(DATE_ADD(reg_date, INTERVAL(7-DAYOFWEEK(reg_date)) DAY),"%m/%d/%Y")) AS DateRange ,count(user_id) AS Total FROM DailyCount WHERE date_format(reg_date,"%Y%m%d") BETWEEN "20201101" AND "20201105" GROUP BY CONCAT(YEAR(reg_date), "/", WEEK(reg_date)) |
(Case2) Weekly 리포트의 쿼리 예제 2
group by YEARWEEK(reg_date)를 이용한 주별 기준 통계로 그룹핑합니다.
SELECT |
예제 2 결과
참고:
https://stackoverflow.com/questions/16558155/select-query-from-sql-group-by-weekly-reports
[Weekly Report예제]