MySQL SELECT deyimi id tarafından gruplar sonuçları,?

1 Cevap php

Ben (birden çok satır aynı kimliğe sahip olacak) satırın id tarafından bir tablo ve irade grubundan sonuçları satır bir demet seçecek bir MySQL SELECT deyimi oluşturmak için çalışıyorum.

İşte yapmak ne çalışıyorum bir örnek. Diyelim ki aşağıdaki tabloyu var diyelim:

id | name
1 | Art
1 | Arnold
1 | Anatoly
2 | Beatrice
2 | Bertha
2 | Betty
3 | Constantine
3 | Cramer

Ben MySQL şöyle id göre gruplandırılmış veri döndürmek var istiyorum:

[1] => Art, Arnold, Anatoly [2] => Beatrice, Bertha, Betty [3] => Constantine, Cramer

Ben PHP sonucu üzerinde daha sonra, basit bir SQL seçmek döngü yapabileceğini biliyorum, ama ben MySQL gruplandırma mümkünse halledeyim istiyorum. Herhangi bir tavsiye çok iyi olurdu. Çok teşekkürler!

Rohan

1 Cevap

Olası bir çözüm MySQL GROUP_CONCAT(expr) işlevini kullanmaktır.

SELECT
  GROUP_CONCAT(name)
FROM
  foo
GROUP BY
  id

Ama unutmayın:

The result is truncated to the maximum length that is given by the group_concat_max_len system variable, which has a default value of 1024.