我有一个组织的SQL Server数据库,其中有许多重复的行.我想运行一个select语句来获取所有这些和重复的数量,但也要返回与每个组织关联的ID.
这样的声明:
SELECT orgName, COUNT(*) AS dupes
FROM organizations
GROUP BY orgName
HAVING (COUNT(*) > 1)
将返回类似于
orgName | dupes
ABC Corp | 7
Foo Federation | 5
Widget Company | 2
但我也想拿到他们的身份证.有什么办法吗?也许像个
orgName | dupeCount | id
ABC Corp | 1 | 34
ABC Corp | 2 | 5
...
Widget Company | 1 | 10
Widget Company | 2 | 2
原因是,还有一个单独的用户表链接到这些组织,我想将它们统一起来(因此删除重复,以便用户链接到同一组织,而不是重复组织).但我想手动退出,这样我就不会搞砸任何事情,但我仍然需要一个声明,返回所有复制组织的ID,这样我就可以查看用户列表.