问题
I have a query where I am using GROUP_CONCAT
and a custom separator as my results may contain commas: '----'
This all works well, however it is still comma separated, so my output is:
Result A----,Result B----,Result C----
How can I make it so the output is:
Result A----Result B----Result C----
I thought this was the idea of a custom separator!
Failing that, can you escape commas in your results, so I can explode in PHP by the GROUP_CONCAT
commas?
回答1:
Looks like you're missing the SEPARATOR keyword in the GROUP_CONCAT function.
GROUP_CONCAT(artists.artistname SEPARATOR '----')
The way you've written it, you're concatenating artists.artistname
with the '----'
string using the default comma separator.
回答2:
Query to achieve your requirment
SELECT id,GROUP_CONCAT(text SEPARATOR ' ') AS text FROM table_name group by id;
回答3:
Or, if you are doing a split - join:
GROUP_CONCAT(split(thing, " "), '----') AS thing_name,
You may want to inclue WITHIN RECORD
, like this:
GROUP_CONCAT(split(thing, " "), '----') WITHIN RECORD AS thing_name,
from BigQuery API page
来源:https://stackoverflow.com/questions/7691816/group-concat-comma-separator-mysql