mysql中的sum函数设置查询条件

SELECT sum(status = 0) as sum1,sum(status = 1) as sum2,sum(status = 2) as sum3 
FROM project

说明:
当sum的结果全部为 0 时,不会全部返回 0,而是全部返回 null,但是只要有一个不为 0,就不会全部返回 null,
例如上面的结果是 0, 0, 0,返回 null,null,null,
结果是 0, 1, 0,返回 0, 1, 0

如果不想为 0 的时候,返回 null,可以使用如下方法解决:

COALESCE(sum(status = 0),0)

SELECT COALESCE( sum (status = 0 ), 0) 
FROM project

版权声明:本文为weixin_43726137原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。