GROUP_CONCAT Separator przecinków - MySQL

145

Mam zapytanie, w którym używam GROUP_CONCAT i niestandardowy separator, ponieważ moje wyniki mogą zawierać przecinki: „----”

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

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

Jak mogę to zrobić, aby wynik był:

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

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

Jeśli to nie pomoże, czy możesz uniknąć przecinków w swoich wynikach, abym mógł eksplodować w PHP za pomocą GROUP_CONCATprzecinków?

user984580
źródło
Skąd pochodzą przecinki? Czy są separatorami, czy częścią wyników? Ta część pytania nie jest dla mnie jasna.
Matt Fenwick
1
GROUP_CONCAT (Artists.artistname, '----') to linia konkatowania mojej grupy - jak widać, nie
wstawiłem

Odpowiedzi:

352

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

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

Sposób, w jaki to zapisałeś, łączysz artists.artistnamez '----'łańcuchem przy użyciu domyślnego separatora przecinków.

Joe Stefanelli
źródło
17

Zapytanie, aby spełnić Twoje wymagania

SELECT id,GROUP_CONCAT(text SEPARATOR ' ') AS text FROM table_name group by id;
Vallabh Bothre
źródło
Wymagane było użycie ----jako separatora.
ks1322
1

Lub, jeśli robisz split - dołącz:

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

Możesz chcieć dołączyć WITHIN RECORD, w ten sposób:

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

ze strony interfejsu API BigQuery

rzymski
źródło