GROUP_CONCAT virgül ayırıcı - MySQL


159

Kullandığım bir sorgu GROUP_CONCATve sonuçlarım virgül içerebileceğinden özel bir ayırıcı var: '----'

Bunların hepsi iyi çalışıyor, ancak yine de virgülle ayrılmış durumda, bu nedenle çıktım:

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

Çıktı şöyle olacak şekilde nasıl yapabilirim:

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

Bunun özel bir ayırıcı fikri olduğunu sanıyordum!

Başaramazsanız, sonuçlarınızda virgülden kaçabilir misiniz, böylece PHP'de GROUP_CONCATvirgülle patlayabilirim ?


Virgüller nereden geliyor? Ayırıcılar mı yoksa sonuçların bir parçası mı? Sorunun bu kısmı benim için net değil.
Matt Fenwick

1
GROUP_CONCAT (artist.artistname, '----') benim grup
konsat çizgim

Yanıtlar:


372

Görünüşe göre GROUP_CONCAT işlevinde SEPARATOR anahtar kelimesi eksik .

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

Yazma şeklinize göre artists.artistname, '----'dizeyle varsayılan virgül ayırıcıyı kullanarak birleştiriyorsunuz .


23

İhtiyaçlarınıza ulaşmak için sorgu

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

Gereksinim, ----ayırıcı olarak kullanmaktı .
ks1322

1

Veya bölme yapıyorsanız - katılın:

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

Şunun WITHIN RECORDgibi dahil etmek isteyebilirsiniz :

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

dan BigQuery API sayfasına

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.