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

mysql将不同的行选择到逗号分隔的列表列中,mysql,sql,Mysql,Sql,我目前有一些sql,可以带回标记。他们应该有不同的ID,但他们没有。。。。因此,我目前的数据如下: Microsoft | GGG | 1 | 167 Microsoft | GGG | 1 | 2 Microsoft | GGG | 1 | 1 我想做的是只返回一行,并将最后一列连接到分隔列表中,如: Microsoft | GGG | 1 | 167, 2, 1 我正在使用mySQL 5来实现此目的。用于此目的,其中一个groupby覆盖了其他三列: SELECT name,

我目前有一些sql,可以带回标记。他们应该有不同的ID,但他们没有。。。。因此,我目前的数据如下:

Microsoft | GGG | 1 | 167
Microsoft | GGG | 1 | 2
Microsoft | GGG | 1 | 1
我想做的是只返回一行,并将最后一列连接到分隔列表中,如:

Microsoft | GGG | 1 | 167, 2, 1
我正在使用mySQL 5来实现此目的。

用于此目的,其中一个
groupby
覆盖了其他三列:

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

我不知道你在要求什么。如果您提出了错误的问题,请评估提供的答案,查看它是否回答了您在此处提出的问题,并通过选择正确的答案来结束问题。然后你可以去问你真正的问题。如果
ids
是一个大的集合,不要忘记设置一个足够大的值:
set SESSION group\u concat\u max\u len=1000000这不会给出不同的值。@geoidesic不确定您的意思。该问题没有要求使用不同的值,但如果您阅读,您会发现它确实支持
distinct
关键字来消除其字符串返回值的重复。