mysql中group by过滤值为null的数据

  • Post author:
  • Post category:mysql



很有帮助

自己犯了一个愚蠢的错误。。。

加上ifnull函数之后查询的数据null仍然是一组

在这里插入图片描述



解决办法

之前写的

ROUP BY IFNULL(1.project_code , t1.schematic_uuid )

project_code的默认值为空白字符串,使用ifnull函数并不能筛选

改完之后

GROUP BY IF(TRIM(BOTH FROM t1.project_code )!=''||TRIM(BOTH FROM t1.project_code )!=' ' ,t1.project_code , t1.schematic_uuid )


project_code的默认值为空白字符串



补充

背景:group by 之前为1行记录,group by 之后变成多行。

原因:因为使用了group_concat函数,由于之前是一组;最后使用group by不同分组之后把属于同一行的分为一组



知识点


ifnull函数的用法

只能判断null,并不能判断空白字符


group_concat函数的用法


if函数的用法



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