2016-04-04 28 views
1

Bu çok aptalca bir soru ve php kullanarak çalışmayı çoktan yaptım, ancak merak ediyorum, tüm benzersiz öğeleri sorgu aramam içinde virgülle ayrılmış bir sütuna gruplayabilirim.Grup virgülle ayrılmış öğeleri MySQL sorgusunda

Ben döndüren GROUP BY ('tag_col') ile virgülle ayrılmış bir etiket

  • tag1 içeren bir sütun, tag2
  • tag2, tag3
  • tag3,

tag1 anda benim sorgu yapıyorum var o (yukarıdaki liste gibi). Sonunda, php betiğimde yaptığım tüm benzersiz etiketlerle bir döngü çıkarmam gerekiyor. soru örneğin ihtiva ayrı satırlar olarak bu gruplar tarafından grubunu kullanarak bu başlamak zorunda kaldı:

  • tag1tag2

    ve

  • tag2, tag1

Tüm bunları listelemek için daha akıllı bir yol yok tag1, tag2 vb.

+4

Bu yüzden, biri etiketleri depolamak için ayrı bir tablo kullanıyor –

+0

Her zaman tag_col içinde 2 etiket var mı? –

+0

Hayır, en fazla 20 – dev

cevap

1

Bunu tahmin etmek için GROUP_CONCAT kullanabilirsiniz, bu nedenle hepsini bir satırda GROUP_CONCAT(tag_col) kullanarak ve grubunuzu kaldırarak birleştirmenize izin verecektir.

Daha sonra php ile bir diziye dönüştürebilirsiniz ve oradan da çoğaltmaları kaldırmak kolaydır.

İlgili konular