GROUP_CONCATカンマ区切り-MySQL


145

GROUP_CONCAT結果にコンマが含まれる可能性があるため、使用しているクエリとカスタムセパレーターがあります: '----'

これはすべてうまくいきますが、それでもコンマ区切りなので、私の出力は次のとおりです。

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

出力を次のようにするにはどうすればよいですか?

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

これはカスタムセパレーターのアイデアだと思いました!

それが失敗した場合、結果でカンマをエスケープできますので、GROUP_CONCATカンマでPHPを爆発させることができますか?


コンマはどこから来るのですか?それらはセパレータですか、それとも結果の一部ですか?質問のその部分は私には明確ではありません。
Matt Fenwick、2011年

1
GROUP_CONCAT(artists.artistname、 '----')は私のグループ連結行です-ご覧のとおり、区切り記号としてカンマを入れていません-結果には含まれていませんが、出力には表示されています
user984580

回答:


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ページから

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.