[英]How do I count the number of zeros in sql?
我有一列的值为 0 或 1。我如何计算零的数量?
SELECT A.id
FROM table1 A
GROUP BY A.id
HAVING SUM(A.zeroorone) >=
ALL (SELECT SUM(AA.zeroorone)
FROM table1 AA
GROUP BY AA.id)
我知道这计算的数量。 我似乎无法得到它
CASE 语句会做得很好:
SELECT SUM(CASE WHEN zeroorone = 0
THEN 1
ELSE 0 END) AS TOTAL_ZEROS
FROM table1
使用计数...
SELECT COUNT(*) FROM table1
WHERE zeroone=0
如果您只想要表中零的计数,请使用以下命令:
SELECT COUNT(1) AS COUNT_OF_ZEROES
FROM table1
WHERE zeroone = 0
如果您想要每个 id 的计数,请使用它。
SELECT id, COUNT(1) AS COUNT_OF_ZEROES
FROM table1
WHERE zeroone = 0
GROUP BY id
我知道这很重要
你确定吗? 在我看来,它返回id
s,其中它的计数大于或等于它的零计数。
如果您对查询执行您想要的操作感到高兴,但您想要反转效果——例如返回id
s,其中它的零计数大于或等于它的计数——那么只需更改比较运算符:
SELECT A.id
FROM table1 A
GROUP BY A.id
HAVING SUM(A.zeroorone) <= -- changed from >=
ALL (SELECT SUM(AA.zeroorone)
FROM table1 AA
GROUP BY AA.id)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.