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