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?


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.


17

Zapytanie, aby spełnić Twoje wymagania

SELECT id,GROUP_CONCAT(text SEPARATOR ' ') AS text FROM table_name group by id;

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

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.