SORU
10 Kasım 2008, PAZARTESİ


Bir alana birden çok MySQL satırları Birleştir miyim?

MySQL gibi bir şey yapabilirim kullanarak:

SELECT hobbies FROM peoples_hobbies WHERE person_id = 5;

ve almak:

shopping
fishing
coding

ama ben sadece, 1 1 satır col istiyor yerine

shopping, fishing, coding

Sebebi birden çok tablo birden çok değer seçmek olduğumu ve tüm katıldıktan sonra istediğimden çok daha fazla satır var.

MySQL Doc CONCAT gibi görünmüyor veya* *10 fonksiyonlar bir fonksiyon için kabul sonuç kümeleri baktım, çok kimse, bunun nasıl yapılacağını bilen var mı?

CEVAP
10 Kasım 2008, PAZARTESİ


GROUP_CONCAT kullanabilirsiniz.

Gibi:

SELECT person_id, GROUP_CONCAT(hobbies SEPARATOR ', ')
FROM peoples_hobbies GROUP BY person_id

Death: Dag yaptığı yorumda belirtildiği gibi, sonucu 1024 bayt sınırı vardır. Bunu çözmek için, önce sorgu: bu sorguyu çalıştırın

SET group_concat_max_len = 2048

Tabii ki, sizin ihtiyaçlarınıza göre 2048 değiştirebilirsiniz.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Charles Renaud

    Charles Rena

    10 Kasım 2007
  • Juan Carlos Candela Bordera

    Juan Carlos

    4 Mart 2009
  • SelmerSaxMan

    SelmerSaxMan

    24 HAZİRAN 2006

İLGİLİ SORU / CEVAPLAR