mysql ifnull语句
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql ifnull语句相关的知识,希望对你有一定的参考价值。
SELECT a.*, c.order_number from `table_a` as a left join (select partner_id, IFNULL(count(order_id),0) as order_number from `table_c` group by partner_id) as c on c.partner_id=a.partner_id
为什么得到的结果中 order_number 是null,而不是我想要的0
表c 是空的,只有结构,没有数值
写在最外层才有效果,像这样
SELECT a.*, ifnull(c.order_number,0) from `table_a` as a left join (select partner_id, IFNULL(count(order_id),0) as order_number from `table_c` group by partner_id) as c on c.partner_id=a.partner_id本回答被提问者和网友采纳 参考技术B 首先,
你的语句中,完全没有必要使用ifnull(),
因为count()函数不会返回null值,只会返回>=0的整数。
其次,
结果中出现null的原因,并不是应为c.order_number的值,而是:
left join的时候,如果在右表中找不到对应的内容,就会显示null,
正是因为你的表c是空的,所以...
希望你能明白!
以上是关于mysql ifnull语句的主要内容,如果未能解决你的问题,请参考以下文章
MySQL 在 WHERE 语句中使用 COALESCE 或 IFNULL 选择非 NULL 值