2017-10-04 7 views
0

を合計するこんにちは、私はこのは、複数の列

Year Column1 column2 column3 
2015  A    B    C 
2015  D    A    B 
2016  F    C    A 

のようなテーブルがあると私は、特定のサブセットが現れる回数列全体で合計することができるようにする必要があります。誰もが、私はそれを本当に感謝これで私を助けることができる場合はどのような私は、サマリー表は次のようになりたいのは、この

Year Letter count 
2015 A  2 
2016 A  1 
2015 B  2 

です!

答えて

1

あなたが一緒にそれを戻すために離れてデータを分割するunion allを使用して、group byことができます。

select year, letter, count(*) 
from ((select year, column1 as letter from t) union all 
     (select year, column2 as letter from t) union all 
     (select year, column3 as letter from t) 
    ) yc 
group by year, letter; 

特定の文字セットの場合、where letter in ('A', 'B')句を追加します。