mysql case when 碰上中文字符串

2025-02-14 12:58:32
推荐回答(1个)
回答1:

恩。。。感觉不大对呢。
小名,2014,NULL,aa@..,NULL,123-456-789
是在一个字段里吧,按照你下面的写法,好像是放到了很多的字段里,你确定这个是你要的?
你用group_concat函数试试,应该能达到你上面的需求。(就是没有null)
至于你上面的问题,你的语句去掉group查出来的结果应该是
1000 小名 null null null null null
1000 null 2014 null null null null
。。。。。。。。。
你在group聚合的时候,没有指令上面的字段和下面的字段用什么方式结合,就是说“小名+null”用什么方式结合,也就是说在case when的外层少了一个聚合函数,不过按照这个写法,这个聚合函数是什么我还真不清楚,因为不管怎么聚和每个字段都会出现一堆的NULL,跟你的要求不符。
比较简单的解决办法,个人建议补齐1-6,没有就写null,这样查询的话用group_concat就行。
如果不加,个人感觉就比较麻烦了。
先用null合并,就是不加单引号的null,聚合后在显示的时候用上ifnull