mysql 시간대별 통계 질문 드려요.
본문
SQL쿼리를 날렸더니
아래와 같이 표시가 됩니다.
이것을 아래와 같이 각 시간별로 출력하고 싶습니다.
/////////////////////////////////////////////////////
2018-11-14 00 1 2 00시
2018-11-14 01 2 2 01시
2018-11-14 02 0 02시
2018-11-14 03 0 03시
2018-11-14 04 0 04시
....
2018-11-14 12 1 3 04시
...
2018-11-14 23 1 3 23시
/////////////////////////////////////////////////////
캡쳐사진의 사용한 쿼리는 아래와 같습니다.
고수님들의 답변 부탁드려요
좀 간결한 표현도 알려주시면 감사하겠습니다.
SELECT DATE_FORMAT(d_regis,'%Y-%m-%d %H') , COUNT(distinct(visitoruid)),GROUP_CONCAT(distinct(visitoruid)), CASE
WHEN DATE_FORMAT(d_regis,'%H') = '01'
THEN '01시'
WHEN DATE_FORMAT(d_regis,'%H') = '02'
THEN '02시'
WHEN DATE_FORMAT(d_regis,'%H') = '03'
THEN '03시'
WHEN DATE_FORMAT(d_regis,'%H') = '04'
THEN '04시'
WHEN DATE_FORMAT(d_regis,'%H') = '05'
THEN '05시'
WHEN DATE_FORMAT(d_regis,'%H') = '06'
THEN '06시'
WHEN DATE_FORMAT(d_regis,'%H') = '07'
THEN '07시'
WHEN DATE_FORMAT(d_regis,'%H') = '08'
THEN '08시'
WHEN DATE_FORMAT(d_regis,'%H') = '09'
THEN '09시'
WHEN DATE_FORMAT(d_regis,'%H') = '10'
THEN '10시'
WHEN DATE_FORMAT(d_regis,'%H') = '11'
THEN '11시'
WHEN DATE_FORMAT(d_regis,'%H') = '12'
THEN '12시'
WHEN DATE_FORMAT(d_regis,'%H') = '13'
THEN '13시'
WHEN DATE_FORMAT(d_regis,'%H') = '14'
THEN '14시'
WHEN DATE_FORMAT(d_regis,'%H') = '15'
THEN '15시'
WHEN DATE_FORMAT(d_regis,'%H') = '16'
THEN '16시'
WHEN DATE_FORMAT(d_regis,'%H') = '17'
THEN '17시'
WHEN DATE_FORMAT(d_regis,'%H') = '18'
THEN '18시'
WHEN DATE_FORMAT(d_regis,'%H') = '19'
THEN '19시'
WHEN DATE_FORMAT(d_regis,'%H') = '20'
THEN '20시'
WHEN DATE_FORMAT(d_regis,'%H') = '21'
THEN '21시'
WHEN DATE_FORMAT(d_regis,'%H') = '22'
THEN '22시'
WHEN DATE_FORMAT(d_regis,'%H') = '23'
THEN '23시'
WHEN DATE_FORMAT(d_regis,'%H') = '00'
THEN '00시'
ELSE '99' END AS 'RR' FROM exsp.sf_visitor2 WHERE DATE_FORMAT(d_regis,'%Y-%m-%d %H') between '2018-11-14 00' and '2018-11-14 24' GROUP BY DATE_FORMAT(d_regis,'%Y-%m-%d %H')
답변 1
헉~~~~ 이건 좀~ 킁..
쿼리문을 직접 짜줄수는 없습니다.
이론만 설명 하겠습니다.
하나의 쿼리문을 function 에 가둡니다. -> 속성을 던집니다. -> 받아서 호출 합니다.