2011-10-07 131 views
90

我有哪里我使用GROUP_CONCAT查询和自定义分隔为我的结果可能包含逗号:“----”GROUP_CONCAT逗号分隔符 - MySQL的

这一切运作良好,但它仍是逗号分隔,所以我的输出是:

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

我怎样才能使它所以输出:

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

我认为这是一个自定义分隔的想法!

如果不成功,你可以在结果中转义逗号,所以我可以在PHP中用GROUP_CONCAT逗号爆炸吗?

+7

向我们显示您的代码。 –

+0

逗号来自哪里?他们是分隔符还是结果的一部分?问题的这一部分对我来说并不清楚。 –

+1

GROUP_CONCAT(artists.artistname,'----')是我的组连接线 - 正如你所看到的,我没有把逗号作为分隔符 - 它们不在结果中,而是在输出中显示 – user984580

回答

241

看起来你错过了GROUP_CONCAT函数中的SEPARATOR关键字。

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

你写它的方式,你串联artists.artistname使用默认的逗号分隔符的'----'字符串。

+3

谢谢 - 它似乎我在某个时候读了关于group_concat的错误教程。 – user984580

1

或者,如果你正在做的分裂 - 联接:

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

您可能要inclue WITHIN RECORD,像这样:

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

BigQuery API page

5

试试这个

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

你回答6年后,你只写了最高票回答:) – ElChupacabra