SQL 질문과 답변 게시판
Microsoft SQL Server와 관련된 질문과 답변을 올리는 게시판입니다. 궁금하신 내용을 이곳에서 문의하시면 SQLER 분들의 답변을 받으실 수 있습니다. 문의를 하실때에는 최근 작업하신 특이 사항이나, 장애 발생 전 상황을 상세히 올려 주시면 답글을 적어주시는 SQLER분들의 답변이 더 정확할 수 있으니 도움 되시길 바랍니다. 쿼리 문의일 경우, 실제 문제가 재현되는 테이블생성, 샘플데이터 생성 쿼리를 함께 올려 주시면 더 빠르고 정확한 쿼리 문의 응답이 가능합니다.
글 수 5,172
select convert(varchar(10),wdate,102) as wdate,
(select count(userid) from member aa where convert(varchar(10),aa.vdate,102)=convert(varchar(10),a.wdate,102)) as vcnt,
(select count(userid) from member ab where convert(varchar(10),ab.wdate,102)=convert(varchar(10),a.wdate,102)) as wcnt,
(select count(userid) from member ac where convert(varchar(10),ac.ddate,102)=convert(varchar(10),a.wdate,102)) as dcnt
from member a group by convert(varchar(10),wdate,102)
위 쿼리를 실행하면 그 날짜에 있었던 자료를 더해서 보여주는데
결과에 조건에 년도와 달을 지정해서 보고 싶은데 어떤 방법이 있을지 생각이 나지 않아서
제가 해본 위치들에 넣어서는 원하는 결과가 나오지 않아서
염치 불구하지만 도움을 청해봅니다.


select convert(varchar(10),wdate,102) as wdate,
(select count(userid) from member aa where convert(varchar(10),aa.vdate,102)=convert(varchar(10),a.wdate,102)) as vcnt,
(select count(userid) from member ab where convert(varchar(10),ab.wdate,102)=convert(varchar(10),a.wdate,102)) as wcnt,
(select count(userid) from member ac where convert(varchar(10),ac.ddate,102)=convert(varchar(10),a.wdate,102)) as dcnt
from member a
where convert(varchar(7), a.wdate,102) = '2010.09'
group by convert(varchar(10),wdate,102)
또는
where YEAR(a.wdate) = 2010 AND MONTH(a.wdate) = 9
둘중 좋은 성능으로 사용하시면 될 것 같습니다.