Sql 多列求和
嗨,我有一张这样的桌子Sql 多列求和,sql,Sql,嗨,我有一张这样的桌子 Year Column1 column2 column3 2015 A B C 2015 D A B 2016 F C A 我需要能够在整个列中求出某个子集出现的次数。我希望汇总表是这样的 Year Letter count 2015 A 2 2016 A
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
如果有人能帮我,我会非常感激 您可以使用
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;
对于一组特定的字母,在('a','B')中添加一个where letter
子句