当前位置:   article > 正文

mysql group by分组后查询无数据补0

mysql group by分组后查询无数据补0

mysql经常会用到Group By来进行分组查询,但也经常会遇到一个问题,就是不满足条件的数据就不会显示,如图总共有五个业务,业务状态为3的就不会显示:
在这里插入图片描述

因此,想要实现,即使没有数据,也想让count显示出0而不是空的效果;

  • 解决方案:构建一个包含所有delegate_type的表(字典表即可ID,code,name);然后和我们本来的sql进行左外连接,在最外层利用ifnull函数
  • [ ]SQL如下
SELECT sdi.name,IFNULL( t.countNum, 0) AS num,sdi.code FROM sys_dict sdi LEFT JOIN (
	SELECT delegate_type,COUNT(1) AS countNum FROM sys_order GROUP BY delegate_type
) AS t
ON t.delegate_type = sdi.code
  • 1
  • 2
  • 3
  • 4

实现自己想要的结果
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/139503
推荐阅读
相关标签
  

闽ICP备14008679号