本文转自:http://stackoverflow.com/questions/7602271/how-do-i-get-sum-function-in-mysql-to-return-0-if-no-values-are-found
SELECT IFNULL(SUM(Column1), 0) AS total FROM...
SELECT COALESCE(SUM(Column1), 0) AS total FROM...
The difference between them is that IFNULL is a MySQL extension that takes two arguments, and COALESCE is a standard SQL function that can take one or more arguments. When you only have two arguments using IFNULL is slightly faster, though here the difference is insignificant since it is only called once.
本文介绍了如何在 MySQL 中使用 IFNULL 和 COALESCE 函数来优化 SUM 函数的行为,确保当没有找到值时返回 0。这两者之间的主要区别在于 IFNULL 是 MySQL 的扩展功能,而 COALESCE 是标准 SQL 函数。尽管 IFNULL 在只有两个参数的情况下略快一些,但在 SUM 函数中这种性能差异可以忽略不计。
4999

被折叠的 条评论
为什么被折叠?



