2014年2月15日土曜日

【SQLSERVER】複数列を1行にして集計する方法

case文を利用して集計したい項目名に合致するデータのみ集計対象とし、合致しない場合は0を定義して集計対象外とする。

◆データ
 col1  col2
 ---------------
 東京都 3
 千葉        1
 千葉        3
 千葉        2
 神奈川    5


select  sum(case when col1 = '東京' then col2 else 0 end) 東京集計
          ,sum(case when col1 = '千葉' then col2 else 0 end) 千葉集計
          ,sum(case when col1 = '神奈川' then col2 else 0 end) 神奈川集計
   from xxx

◆結果
 東京集計 千葉集計 神奈川集計
 -------------------------------
    3               6               5


0 件のコメント:

コメントを投稿