Tôi có một cơ sở dữ liệu SQL Server của các tổ chức và có nhiều hàng trùng lặp. Tôi muốn chạy một câu lệnh chọn để lấy tất cả những thứ này và số lượng bản sao, nhưng cũng trả về các id được liên kết với mỗi tổ chức.
Một tuyên bố như:
SELECT orgName, COUNT(*) AS dupes
FROM organizations
GROUP BY orgName
HAVING (COUNT(*) > 1)
Sẽ trả lại một cái gì đó như
orgName | dupes
ABC Corp | 7
Foo Federation | 5
Widget Company | 2
Nhưng tôi cũng muốn lấy ID của họ. Có cách nào để làm điều này? Có lẽ giống như một
orgName | dupeCount | id
ABC Corp | 1 | 34
ABC Corp | 2 | 5
...
Widget Company | 1 | 10
Widget Company | 2 | 2
Lý do là cũng có một bảng người dùng riêng liên kết với các tổ chức này và tôi muốn thống nhất chúng (do đó loại bỏ các bản sao để người dùng liên kết với cùng một tổ chức thay vì các bản sao đôi). Nhưng tôi muốn một phần theo cách thủ công để tôi không làm hỏng bất cứ điều gì, nhưng tôi vẫn cần một tuyên bố trả lại ID của tất cả các bản dupe để tôi có thể xem qua danh sách người dùng.