특정 기간 ( 약 1년정도) 동안 일별로 나오는 데이터들의 카운트를 구하려고 합니다
데이터가 한 30-40초 에 한 로우씩 쌓이는(쌓일때도 있고 안나올때도 있어요) 데이터를 가지고..(엄청 많은 데이터입니다)
로우카운트를 세어서.
일/월 1월 2월 3월 4월
1일 0 10 200 30
2일 10 0 0 0
3일
뭐 요런식으로 데이터를 뽑고 싶은데요 이런것도 가능 할까요?
일별데이터를 월별 컬럼으로 잘라내는 것도 쉽지않고 데이터가 없는 날짜에 0을 집어넣는것도 힘드네요.
원체 잘하지도 못하는 쿼리를 익숙하지도 않은 mysql로 짜려고 하니까 더힘드네요..
고수님들 도움좀 부탁드려요
SELECT d , COUNT(CASE m WHEN '01' THEN 1 END) "01" , COUNT(CASE m WHEN '02' THEN 1 END) "02" , COUNT(CASE m WHEN '03' THEN 1 END) "03" , COUNT(CASE m WHEN '04' THEN 1 END) "04" , COUNT(CASE m WHEN '05' THEN 1 END) "05" , COUNT(CASE m WHEN '06' THEN 1 END) "06" , COUNT(CASE m WHEN '07' THEN 1 END) "07" , COUNT(CASE m WHEN '08' THEN 1 END) "08" , COUNT(CASE m WHEN '09' THEN 1 END) "09" , COUNT(CASE m WHEN '10' THEN 1 END) "10" , COUNT(CASE m WHEN '11' THEN 1 END) "11" , COUNT(CASE m WHEN '12' THEN 1 END) "12" FROM (SELECT DATE_FORMAT(dt, '%m') m , DATE_FORMAT(dt, '%d') d FROM t WHERE dt >= '2017-01-01' AND dt < '2018-01-01' ) a GROUP BY d ;