我正在使用 SQLite。
我有一个简单的表格
id flag
1 y
2 y
1 n
2 y
3 n
我需要创建一个查询来给出标记的行数
id No
1 1
2 2
3 0
如果我使用
SELECT Table1.ID as ID, Count(Table1.id) AS No
FROM Table1
WHERE (((Table1.[flag])=True))
GROUP BY ID;
GROUP BY
将忽略 id=3。
我能做什么?
最佳答案
您已经快完成了:使用 SUM
代替 COUNT
,并将 where
子句作为条件移至其中。
这应该有效:
SELECT Table1.ID as ID, SUM(case when (Table1.[flag])=True then 1 else 0 end) AS No
FROM Table1
GROUP BY ID;
关于sql - 对 SQLite 上标记的行进行计数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10396147/