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

  • CNET

    CNET

    5 Mayıs 2006
  • Floortile83

    Floortile83

    16 Ocak 2010
  • Santozz Yazz

    Santozz Yazz

    23 Mart 2014