我的一个表中有一个"布尔"列(值为0或1).
我需要得到两个计数:布尔值设置为0的行数和设置为1的行数.目前我有两个查询:一个计数1,另一个计算0.
在使用WHERE条件计算行时,MySQL是否遍历整个表?我想知道是否有一个查询允许两个计数器根据不同的条件?
或者有没有办法获得WHERE条件计数的总计数?这就足够了,因为我只需要从另一个中减去一个计数(由于列的布尔性质).没有NULL值.
谢谢.
您可以按布尔列对记录进行分组,并为每个组获取计数.
SELECT bool_column, COUNT(bool_column) FROM your_table
WHERE your_conditions
GROUP BY bool_column
Run Code Online (Sandbox Code Playgroud)
这显然不仅适用于bool列,还适用于其他数据类型(如果需要).