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

  • Elefant Traks

    Elefant Trak

    5 HAZİRAN 2007
  • HowcastSportsFitness

    HowcastSport

    11 Mayıs 2011
  • Major FX

    Major FX

    6 HAZİRAN 2012