GROUP_CONCAT逗号分隔符-MySQL


145

我在一个查询中使用GROUP_CONCAT了一个自定义分隔符,因为我的结果可能包含逗号:“ ----”

这一切都很好,但是仍然用逗号分隔,所以我的输出是:

Result A----,Result B----,Result C----

我怎么做,所以输出是:

Result A----Result B----Result C----

我以为这是自定义分隔符的想法!

否则,您是否可以在结果中使用逗号,所以我可以用GROUP_CONCAT逗号使PHP爆炸?


逗号从哪里来?它们是分隔符还是结果的一部分?我不清楚那部分问题。
马特·芬威克

1
GROUP_CONCAT(artists.artistname,'----')是我的组concat行-如您所见,我没有将逗号用作分隔符-它们不在结果中而是显示在输出中
user984580 2011年

Answers:


352

好像您在GROUP_CONCAT函数中缺少SEPARATOR关键字。

GROUP_CONCAT(artists.artistname SEPARATOR '----')

编写方式是使用默认的逗号分隔符artists.artistname'----'字符串连接。


17

查询以实现您的要求

SELECT id,GROUP_CONCAT(text SEPARATOR ' ') AS text FROM table_name group by id;

要求是----用作分隔符。
ks1322

1

或者,如果您要拆分-加入:

GROUP_CONCAT(split(thing, " "), '----') AS thing_name,

您可能需要加入WITHIN RECORD,例如:

GROUP_CONCAT(split(thing, " "), '----') WITHIN RECORD AS thing_name,

BigQuery API页面

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.