我的一个表中有一个“布尔”列(值为 0 或 1)。
我需要获得两个计数:布尔值设置为 0 的行数和布尔值设置为 1 的行数。目前我有两个查询:一个用于计算 1,另一个用于计算 0。
MySQL在使用WHERE条件计算行数时是否会遍历整个表?我想知道是否有一个查询允许基于不同条件的两个计数器?
或者有没有办法获得总计数以及 WHERE 条件计数?这就足够了,因为我只需从另一个计数中减去一个计数(由于列的布尔性质)。没有 NULL 值。
Thanks.
您可以按布尔列对记录进行分组,并获取每组的计数。
SELECT bool_column, COUNT(bool_column) FROM your_table
WHERE your_conditions
GROUP BY bool_column
显然,这不仅适用于布尔列,而且如果您需要的话,也适用于其他数据类型。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)