这里有一个示例架构: http://sqlfiddle.com/#!2/c0723a/2
查询为select id,group_concat(val) from test group by id
结果是
ID GROUP_CONCAT(VAL)
1,66,66,,203,214,204
我想在没有逗号的情况下连接val字段以获取像这样的空记录
ID GROUP_CONCAT(VAL)
1 64,66,203,214,204
答案 0 :(得分:4)
只需使用替换
即可select id,replace(group_concat(val),',,',',') from test group by id
或者您可以使用 IF
select id,group_concat(if(val ='',null, val)) from test group by id
或者您可以使用 NULLIF
select id,group_concat(Nullif(val,'')) from test group by id
<强> Fiddle Demo 强>
答案 1 :(得分:2)
SELECT id, GROUP_CONCAT(val) FROM test
WHERE val is not null AND val <> ''
GROUP BY id
答案 2 :(得分:1)
添加IF
项检查,GROUP_CONCAT
会跳过NULL
值。
select id, group_concat(IF(val = '', null, val)) from test group by id
<强> THE SQLFIDDLE. 强>