我如何计算sql中的零数?

时间:2012-03-15 02:31:49

标签: sql database mysqli

我有一个值为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)

我知道这会计算一些。我似乎无法得到它

非常感谢任何帮助

4 个答案:

答案 0 :(得分:4)

CASE声明可以很好地完成:

SELECT SUM(CASE WHEN zeroorone = 0 
                THEN 1 
                ELSE 0 END) AS TOTAL_ZEROS
  FROM table1 

答案 1 :(得分:4)

使用计数......

SELECT COUNT(*) FROM table1 
WHERE zeroone=0

答案 2 :(得分:1)

如果您只想在表格中计算零,请使用:

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

答案 3 :(得分:0)

  

我知道这会计算一些

你确定吗?在我看来,它返回id s,其中的数量大于或等于其零的数量。

如果您对查询符合您的要求感到满意,但想要扭转效果 - 例如返回id,其零的计数大于或等于其中的计数 - 然后只需更改比较运算符:

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)