mysql 날짜관련 쿼리 질문좀드리겠습니다 0 2 657

by 밍 [MySQL] [2016.09.30 15:05:25]


 SELECT A.d, 
       COUNT(*)  as count_li
       FROM (
        SELECT DATE_FORMAT(reg_date,'%m') m, DATE_FORMAT(reg_date,'%d') d
        FROM table
        WHERE 1=1
       AND DATE_FORMAT(reg_date,'%y%m') >= '201609'  AND DATE_FORMAT(reg_date,'%y%m') < '201610' 
       )A
       GROUP BY A.d
1 2015-09-27 오전 2:23:00
2 2015-09-28 오전 4:10:25
3 2015-09-29 오전 9:47:28

 

9월에서 10월 사이날짜를 검색했을때 

27 10
28 30
29 50

 

이런식으로 데이터가 있으면 1일~30일까지 카운터를 뽑고싶은데..

위 쿼리로 하니깐 값이 잘안나오는데 어디쪽을 수정해야하는지 조언좀 부탁드릴게요~

 

그리고 1주차,2주차 이런식으로도 구할수 있을까요..?

by 마농 [2016.09.30 15:55:02]

없는 날짜도 나오게 하려면 아우터 조인을 해야 하는데.
그러려면 기준이 되는 달력 테이블이 있어야 합니다.
달력 테이블을 미리 만들어 두시고 아우터 조인으로 해결하셔야 합니다.


주차는 '%u' 를 이용하시면 될 듯 하네요.


by 밍 [2016.09.30 16:13:53]

아..질문을 잘못드렸네요

 

있는날짜만 나오게 하려구요...ㅎㅎ

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입