Mysql 是否从结果中筛选不包括一列的重复行?

Mysql 是否从结果中筛选不包括一列的重复行?,mysql,sql,duplicates,duplicate-removal,Mysql,Sql,Duplicates,Duplicate Removal,我有一张这样的桌子- uid test1 test2 test3 test4 test5 10 x1 x2 x3 x4 x5 11 x6 x7 x8 x9 x10 12 x11 x12 x13 x14 x15 13 x16 x17 x18 x19 x20 14 x16 x17 x18 x19 x20 15 x21

我有一张这样的桌子-

uid  test1  test2  test3  test4  test5
10    x1     x2     x3     x4     x5
11    x6     x7     x8     x9     x10
12    x11    x12    x13    x14    x15
13    x16    x17    x18    x19    x20
14    x16    x17    x18    x19    x20
15    x21    x22    x23    x24    x25
16    x26    x27    x28    x29    x30
从上表可以看出,uid为13和14的行对于除uid之外的所有列都具有相同的值

所以我想过滤所有具有完全相同值的行,不包括列uid(即列uid可以在值中延迟),在最终结果中,我希望行中有重复或类似的行,并且 它是uid列,所有重复项都是逗号分隔格式的uid

预期成果-

uid    test1  test2  test3  test4  test5
10      x1     x2     x3     x4     x5
11      x6     x7     x8     x9     x10
12      x11    x12    x13    x14    x15
13,14   x16    x17    x18    x19    x20
15      x21    x22    x23    x24    x25
16      x26    x27    x28    x29    x30

我尝试使用,但它要求所有列都是相同的,以考虑行是重复的。< /P> 如有任何建议,我们将不胜感激


编辑:我使用MYSQL作为数据库。

您可以使用group by CONCAT(用于测试重复值的列)

或者尝试使用此处给出的查询:

然后使用GROUP_CONCAT将重复的列与特定列合并
(除第一个以外的所有情况)。

使用按要在输出中区分的列分组,应用于要显示为列表的一列或多列

SELECT
  GROUP_CONCAT(uid),
  test1, test2, test3, test4, test5
FROM atable
GROUP BY test1, test2, test3, test4, test5