我有下表(“表格”)格式
A B C
"801331" "5755270" "0"
"1761861" "10556391" "1"
"1761861" "10557381" "33"
"1761861" "11069131" "33"
"801331" "24348751" "0"
"801331" "77219852" "0"
"1761861" "557880972" "0"
我想计算并在一个按A列分组的表中提供两个不同的数量。
第一个是:
SELECT A, COUNT(*) FROM Table GROUP BY A
第二个有一个条件:
SELECT A, COUNT(*) FROM Table WHERE C != 0 GROUP BY A
我想得到以下结果
A 1st 2nd
"1761861" "4" "3"
"801331" "3" "0"
我从诸如thisOne之类的问题中尝试了一些答案,但由于结果是一行,我无法实现。
我觉得这很容易,但我不能让它发挥作用。
有(简单)方法吗?
答案 0 :(得分:1)
SELECT A, sum(1), sum(case when C <> 0 then 1 else 0 end) FROM Table GROUP BY A;
SELECT A, count(*), count(case when C <> 0 then A else null end) FROM Table GROUP BY A;