在SQLite中结合两个计数

时间:2015-03-06 11:24:31

标签: sqlite count

我有下表(“表格”)格式

 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之类的问题中尝试了一些答案,但由于结果是一行,我无法实现。

我觉得这很容易,但我不能让它发挥作用。

有(简单)方法吗?

1 个答案:

答案 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;