'SQL'에 해당되는 글 1건

  1. 2009/04/16 [MSSQL] mssql row -> column 변환(통계용) (2)
순번 날짜 menuid 합계
1 2009-04-16 coupon 8
2 2009-04-16 hot_moneylife 1
3 2009-04-16 main 34
4 2009-04-16 payinfo 8
5 2009-04-16 public 11
6 2009-04-16 sitemap 5
7 2009-04-15 coupon 11
8 2009-04-15 hot_chosun 5
9 2009-04-15 hot_moneylife 18
10 2009-04-15 main 82
11 2009-04-15 payinfo 8
12 2009-04-15 public 12
13 2009-04-15 sitemap 4
14 2009-04-14 coupon 17
15 2009-04-14 hot_chosun 4
16 2009-04-14 hot_moneylife 24
17 2009-04-14 main 96
18 2009-04-14 payinfo 12
19 2009-04-14 public 14
20 2009-04-14 sitemap 5
이런 형태의 결과를
순번 날짜 메인접속 할인쿠폰 공공정보 이용요금안내 사이트맵 **2010 **7218
1 2009-04-16 34 8 11 8 5 1 0
2 2009-04-15 82 11 12 8 4 18 5
3 2009-04-14 96 17 14 12 5 24 4
이런 형태로 출력 고민중..(아마도 예전에도 고민하다 풀었던것 같은데...기록을 해두지 않아서..또 고민)
다음과 같이 해결.
strSQL="SELECT  CONVERT(varchar(10), visitDate, 120) AS 날짜 ,"
         strSQL = strSQL& " SUM(CASE WHEN menuid = 'main' THEN 1 ELSE 0 END) AS 메인접속,"
         strSQL = strSQL& " SUM(CASE WHEN menuid = 'coupon' THEN 1 ELSE 0 END) AS 할인쿠폰,"
         strSQL = strSQL& " SUM(CASE WHEN menuid = 'public' THEN 1 ELSE 0 END) AS 공공정보,"
         strSQL = strSQL& " SUM(CASE WHEN menuid = 'payinfo' THEN 1 ELSE 0 END) AS 이용요금안내,"
         strSQL = strSQL& " SUM(CASE WHEN menuid = 'sitemap' THEN 1 ELSE 0 END) AS 사이트맵,"
         strSQL = strSQL& " SUM(CASE WHEN menuid = 'hot_moneylife'  THEN 1 ELSE 0 END) AS '**2010' ,"
         strSQL = strSQL& " SUM(CASE WHEN menuid = 'hot_chosun' THEN 1 ELSE 0 END) AS '**7218' "
         strSQL = strSQL& " FROM TBL_VISITLOG "&strSQLEx&" GROUP BY CONVERT(varchar(10),visitDate, 120)  "&strOrder

(여기서 strSQLEx이부분은 기간 설정 부분이니 상관없고 strOrder요것도 정렬 부분이니 신경 쓸 필요 無)
Posted by 가을이짱짱
TAG ,

트랙백 주소 : http://www.couplestyle.com/trackback/644 관련글 쓰기

댓글을 달아 주세요

  1. BlogIcon jonggyu 2009/05/07 00:43  댓글주소  수정/삭제  댓글쓰기

    SQL.. 혹시 저랑 같은 직종 이신가요..?
    저는 일본에서 IT 컨설턴트일을 하고 있어요. 개발에 많이 치우치고 있지만요.. ^^

    • 가을이 2009/05/07 01:02  댓글주소  수정/삭제

      아 IT컨설턴트를 하시는군요.멋져요^^ 저는 이통사쪽 개발을 하고 있어요.좀 고생스럽긴하지만 먹고 살자니 어쩔수 없네요...^^;;