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

  • 8lacKy

    8lacKy

    30 Mart 2009
  • SellerDp

    SellerDp

    27 EKİM 2009
  • Tech4Geeks

    Tech4Geeks

    8 Ocak 2012

İLGİLİ SORU / CEVAPLAR