SQL Server:根据单个列中的值在表中查找重复项

前端之家收集整理的这篇文章主要介绍了SQL Server:根据单个列中的值在表中查找重复项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个sql Server表,其中包含以下字段和示例数据:
ID   employeename
1    Jane
2    Peter
3    David
4    Jane
5    Peter
6    Jane

ID列具有每行的唯一值.

employeename专栏有重复.

我希望能够根据employeename列找到重复项,并列出以逗号分隔的副本旁边的ID.

上述样本数据的预期输出

employeename   IDs
Jane           1,4,6
Peter          2,5

表中还有其他列,我不想为此查询考虑.

感谢你的帮助!

解决方法

select
 employeename,IDs = STUFF((SELECT ','+ CAST(e2.[ID] AS VARCHAR(10)) 
  FROM emp e2
  WHERE e2.employeename = e1.employeename
  For XML PATH('')
 ),1,'')
FROM emp e1
GROUP BY employeename having COUNT(*) > 1

SQL Fiddler

猜你在找的MsSQL相关文章