MySQL:使用“SUM IF”和“COUNT IF”进行条件聚合的替代方法
考虑以下场景:您有一个表包含名为“hour”和“kind”的列,并希望根据条件执行计算。例如,您可能想要计算“kind”列等于 1 的行数,或者仅对“kind”列为 2 的行对“hour”列求和。
在 MySQL 中,不直接支持使用“SUM IF”或“COUNT IF”的语法。相反,您可以使用 CASE 语句来实现条件聚合:
SELECT count(id), SUM(hour) as totHour, SUM(case when kind = 1 then 1 else 0 end) as countKindOne FROM table_name;
此查询计算总行数,对所有行的“小时”列求和,并计算“小时”列的行数kind' 列等于 1。
有关 MySQL 中条件聚合的更多信息,请参阅以下资源:
以上是如何在没有'SUM IF”和'COUNT IF”的情况下在 MySQL 中执行条件聚合?的详细内容。更多信息请关注PHP中文网其他相关文章!