mysql将不同的行选择到逗号分隔的列表列中
我目前有一些sql,可以带回标记。他们应该有不同的ID,但他们没有。。。。因此,我目前的数据如下: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,
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
关键字来消除其字符串返回值的重复。