2011-10-07 163 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