일별 count를 뽑는 단순한 쿼리인데요
근데 한달기간 일별 count 를 group 으로 뽑으면 데이터가 없는 일도 있잖아
1일 2일 4일
10개 5개 1개
아래와 같이 3일은 데이터가 없잖아요. 3일 0 이렇게 이렇게 나오도록 가능한가요?
select sum( case nday when 1일 then cnt else 0 end ) as '1일', sum( case nday when 2일 then cnt else 0 end ) as '2일', sum( case nday when 3일 then cnt else 0 end ) as '3일', sum( case nday when 4일 then cnt else 0 end ) as '4일' from nTable ---------------------------------------------------------------------------- 해당로그에 찍힌 날짜값이 '1일'이면 cnt 이고 아니면 0 이것을 sum해서 '1일'이라는 칼럼으로 셋팅한다는 뜻이며 앗...여기서 cnt를 그냥 1로 셋팅하셔도 되는데..만약 cnt 라는 칼럼이 있다면 해당 칼럼의 카운트 값이 겠죠.... 즉, 로그가 한 번에 하나씩 찍힌다면 1로 바꿔주시고 또는 cnt라는 특정칼럼에 별도의 1이상의 카운터로 집계된다면 해당 칼럼명을 써 주시면 괄호 바깥의 sum을 통해 집계됩니다. ---------------------------------------------------------------------------- 1일 2일 3일 4일........... 10개 5개 0개 1개.............. ---------------------------------------------------------------------------- 이렇게 해서 case를 해당 월 끝가지 셀렉트 하시면 sum 값이 0 이라도 칼럼별로 다 나오게 됩니다.
그럼.....20000