2011-10-07 31 views
90

Mam kwerendy, gdzie używam GROUP_CONCAT i separator niestandardowy jak moje wyniki mogą zawierać przecinków: „----”GROUP_CONCAT separator przecinek - MySQL

To wszystko działa dobrze, jednak nadal jest oddzielone przecinkami więc moje wyjście jest:

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

Jak mogę to zrobić więc wyjście jest:

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

Myślałem, że to był pomysł niestandardowego separatora!

W przypadku niepowodzenia możesz uciec od przecinków w swoich wynikach, więc mogę eksplodować w PHP za pomocą przecinków GROUP_CONCAT?

+7

Pokaż nam swój kod. –

+0

Skąd pochodzą przecinki? Czy są to separatory, czy część wyników? Ta część pytania nie jest dla mnie jasna. –

+1

GROUP_CONCAT (artist.artistname, '----') to moja grupa concat line - jak widać, nie umieściłem przecinka jako separatora - nie są one w wynikach, ale pokazują na wyjściu – user984580

Odpowiedz

241

Wygląda na to, że brakuje słowa kluczowego SEPARATOR w funkcji GROUP_CONCAT.

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

Sposób, w jaki zostały napisane, jesteś złączenie artists.artistname z ciągiem '----' przy użyciu separatora domyślnego przecinek.

+3

Dziękuję - to wydaje mi się, że w pewnym momencie przeczytałem błędny samouczek dotyczący group_concat. – user984580

1

Lub, jeśli ten podział - dołącz:

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

Możesz inclue WITHIN RECORD, tak:

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

od BigQuery API page

5

spróbować tej

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

Odpowiedziałeś 6 lat później i napisałeś tylko najwyższą głosowaną odpowiedź :) – ElChupacabra

Powiązane problemy