MySQL:在一个查询中计算两件事?

2023-12-23

我的一个表中有一个“布尔”列(值为 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(使用前将#替换为@)

MySQL:在一个查询中计算两件事? 的相关文章

随机推荐