mysql将sum为NULL转为0
展开阅读全文

今天在执行一条mysql语句的时候,左思不得其解,sql如下:

select a.id,(select sum(`id`) from ceshi_b where id=a.id)abc from ceshi_a a where id <100 having abc < 1

然后就让人蛋疼了,一大批数据没显示出来,闹了半天,abc输出的是null,然后就开始搜索转变的方式。 最终找到了以下方法。

select  IFNULL(SUM(`id`),0) from A

意思就是,当sum(id)null时,把null转化成0

最终写法为:

select a.id,(select IFNULL(sum(`id`),0) from ceshi_b where id=a.id)abc from ceshi_a a where id <100 having abc < 1