Cách hiệu quả nhất để phát hiện các bản sao trong bảng hàng 10 cột/50K là gì? Tôi đang sử dụng MSSQL 8,0Cách phát hiện hàng trùng lặp trong bảng SQL Server?
Trả lời
Để hiển thị một ví dụ về những gì người khác đã được mô tả:
SELECT
Col1, -- All of the columns you want to dedupe on
Col2, -- which is not neccesarily all of the columns
Col3, -- in the table
Col4,
Col5,
Col6,
Col7,
Col8,
Col9,
Col10
FROM
MyTable
GROUP BY
Col1,
Col2,
Col3,
Col4,
Col5,
Col6,
Col7,
Col8,
Col9,
Col10
HAVING
COUNT(*) > 1
Bạn có thể sử dụng "nhóm bằng" trên tất cả các cột và sau đó đếm (*)> 1
hoạt động tốt, chỉ cần nhớ loại trừ một PK tổng hợp nếu bạn có một số –
Để phát hiện, chỉ cần nhóm bằng như Guge nói.
select fieldA, fieldB, count(*) from table
group by fieldA, fieldB
having count(*) > 1
Nếu bạn muốn xóa giá trị nhân bản ... giả ....
select distinct into a temp table
truncate original table
select temp table back into original table
Với truncate bạn có thể gặp vấn đề nếu bạn có những hạn chế FK, vì vậy hãy thông minh về thả hạn chế và đảm bảo bạn không có hồ sơ mồ côi.
Hãy thử điều này
Select * From Table
Group By [List all fields in the Table here]
Having Count(*) > 1
Ngoài những gợi ý cung cấp, tôi sẽ sau đó đi đến các nỗ lực của bản sao ngăn chặn trong trong tương lai, thay vì cố gắng định vị chúng sau này.
Điều này được thực hiện bằng cách sử dụng chỉ mục duy nhất trên cột (hoặc nhóm cột) được cho là duy nhất. Hãy nhớ rằng dữ liệu trong cơ sở dữ liệu có thể được sửa đổi từ các vị trí khác ngoài ứng dụng cụ thể mà bạn đang làm việc, vì vậy tốt nhất bạn nên xác định những gì được cho phép trong bảng ở cấp DB.
- 1. Xóa các hàng "trùng lặp" trong SQL Server 2010
- 2. SQL: Xóa bản ghi trùng lặp trong SQL Server
- 3. Phát hiện trùng lặp trong Hàng đợi lưu trữ Azure
- 4. Tìm hàng trùng lặp/lặp lại trong phân cấp sql
- 5. Xóa nhiều hàng trùng lặp trong bảng
- 6. Xóa bản ghi trùng lặp trong SQL Server?
- 7. Cách phát hiện dữ liệu trùng lặp?
- 8. Cách xóa các hàng trùng lặp và cập nhật bảng
- 9. Làm cách nào để so sánh hai bảng và xóa các hàng trùng lặp trong SQL?
- 10. Loại bỏ trùng lặp bằng phân vùng bởi SQL Server
- 11. Làm cách nào để ngăn chặn chèn dữ liệu trùng lặp vào bảng SQL Server?
- 12. Làm thế nào để tạo bảng trùng lặp với tên mới trong SQL Server 2008
- 13. SQL Server UNIQUE chế với NULLs trùng lặp
- 14. hàng trùng lặp trong chế độ xem bảng trên uitableviewcell
- 15. Trình phát hiện mã trùng lặp Javascript?
- 16. Làm cách nào để tạo cột "Không trùng lặp" trong SQL Server 2008?
- 17. truy vấn sql để xóa chỉ một hàng trùng lặp
- 18. MySQL - Bảng trùng lặp
- 19. Unique hàng hạn chế trong SQL Server
- 20. SQL Xóa hầu hết các hàng trùng lặp
- 21. DLL trùng lặp trong thư mục "Phụ thuộc phát hiện"
- 22. Ngăn chặn chèn bảng trùng lặp
- 23. Chọn một hàng từ hàng trùng lặp
- 24. Tìm hàng trùng lặp trong excel
- 25. Cách thêm hàng cho tất cả các hàng trong bảng khác trong SQL Server
- 26. MSSQL Query để xóa các hàng trùng lặp từ một TABLE để lại hàng khác nhau trong bảng
- 27. Chèn nhiều hàng vào bảng trong SQL Server
- 28. Loại bỏ các hàng trùng lặp từ một bảng
- 29. Củng cố hàng trùng lặp
- 30. Tìm hàng trùng lặp với PostgreSQL
Đóng đinh nó dude .. Cảm ơn một tấn .. – Bajji