SQL - 对列进行两次计数

时间:2012-02-16 18:18:48

标签: sql count

我有一个名为'status'的表。这可以设置为0或1

我可以在一个查询中同时计算0和1吗?

提前致谢

詹姆斯

2 个答案:

答案 0 :(得分:9)

是的,只需对status的价值进行分组:

SELECT status, COUNT(*)
FROM yourtable
GROUP BY status

这将为您提供两行,因为该值只能是01COUNT(*)列将是每个status值出现的次数在表中。

答案 1 :(得分:7)

SELECT SUM(CASE WHEN status = 0 THEN 1 ELSE 0 END) AS 'number of zeroes',
       SUM(CASE WHEN status = 1 THEN 1 ELSE 0 END) AS 'number of ones'
FROM yourtable;