mysql选择不同的行到逗号分隔的列表列中

时间:2011-12-01 15:04:05

标签: mysql sql

我目前有一些带回标签的sql。他们应该有不同的ID,但他们没有....所以我目前的数据就像:

Microsoft | GGG | 1 | 167
Microsoft | GGG | 1 | 2
Microsoft | GGG | 1 | 1

我想做的是只返回一行,最后一列连接成一个分隔列表,如:

Microsoft | GGG | 1 | 167, 2, 1

我正在使用mySQL 5。

1 个答案:

答案 0 :(得分:25)

使用GROUP_CONCAT()GROUP BY覆盖其他三列:

SELECT 
  name,   -- Microsoft
  other,  -- GGG
  other2, -- 1
  GROUP_CONCAT(id) AS ids
FROM tbl
GROUP BY name, other, other2