| WEEK | LCT | RCT | DATERANGE | ----------------------------------------------- | 19 | 7 | 4 | 2013-05-12 TO 2013-05-18 | | 20 | 1 | 0 | 2013-05-19 TO 2013-05-25 |
판매 리포트(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예제]
'DB관련 > MySQL' 카테고리의 다른 글
[Date] 기준 일자에 특정 기간 후의 날짜(시간 더하기, 빼기=100일 구하기), 두 기간의 날짜 차이 가져오기(오늘은 몇일차?), 1년 365일중 오늘은 몇일째? (0) | 2021.10.15 |
---|---|
MySQL mysqldump로 full backup, DB table 백업, 복원 (중요:대용량 복원은 MyISAM엔진으로 변경하세요) (0) | 2020.10.23 |
mysql 문자열 합치기 / 문자열 자르기 / 문자열 바꾸기 CONCAT() SUBSTRING() (0) | 2020.07.08 |
SQL의 IFNULL()함수 MySQL의 COALESCE()함수로 사용 (0) | 2019.03.02 |
윈도우 mysql install 디렉토리 와 Data디텍토리 위치 (0) | 2017.11.11 |
MySQL DB Table OPTIMIZE 저장 공간 줄이기 (Storage Shrink 처리) (0) | 2017.11.01 |
[펌]MySQL 쓰면서 하지 말아야 할 것 17가지 (0) | 2017.08.25 |
MySQL 프로세스 리스트 보기 , 프로세스 죽이기. (0) | 2017.04.20 |
(로그인하지 않으셔도 가능)