Làm thế nào để loại bỏ các hàng trùng lặp khỏi bảng SQL Server?



Hãy Thử Công Cụ CủA Chúng Tôi Để LoạI Bỏ Các VấN Đề

Khi thiết kế các đối tượng trong SQL Server, chúng ta phải tuân theo một số phương pháp hay nhất. Ví dụ, một bảng phải có khóa chính, cột nhận dạng, chỉ mục được nhóm và không được gộp, tính toàn vẹn dữ liệu và các ràng buộc về hiệu suất. Bảng SQL Server không được chứa các hàng trùng lặp theo các phương pháp hay nhất trong thiết kế cơ sở dữ liệu. Tuy nhiên, đôi khi chúng ta cần xử lý các cơ sở dữ liệu mà các quy tắc này không được tuân thủ hoặc có thể có ngoại lệ khi các quy tắc này bị bỏ qua một cách cố ý. Mặc dù chúng tôi đang tuân theo các phương pháp hay nhất, chúng tôi có thể gặp phải các vấn đề như các hàng trùng lặp.



Ví dụ: chúng tôi cũng có thể lấy loại dữ liệu này trong khi nhập các bảng trung gian và chúng tôi muốn xóa các hàng thừa trước khi thực sự thêm chúng vào bảng sản xuất. Hơn nữa, chúng ta không nên để khách hàng tiềm năng trùng lặp các hàng vì thông tin trùng lặp cho phép xử lý nhiều yêu cầu, kết quả báo cáo không chính xác và hơn thế nữa. Tuy nhiên, nếu chúng ta đã có các hàng trùng lặp trong cột, chúng ta cần làm theo các phương pháp cụ thể để xóa dữ liệu trùng lặp. Hãy xem một số cách trong bài viết này để loại bỏ trùng lặp dữ liệu.



Bảng chứa các hàng trùng lặp



Làm thế nào để loại bỏ các hàng trùng lặp khỏi bảng SQL Server?

Có một số cách trong SQL Server để xử lý các bản ghi trùng lặp trong một bảng dựa trên các trường hợp cụ thể như:

Xóa các hàng trùng lặp khỏi bảng SQL Server chỉ mục duy nhất

Bạn có thể sử dụng chỉ mục để phân loại dữ liệu trùng lặp trong các bảng chỉ mục duy nhất sau đó xóa các bản ghi trùng lặp. Trước tiên, chúng ta cần tạo cơ sở dữ liệu được đặt tên là “test_database”, sau đó tạo một bảng “ Nhân viên ”Với một chỉ mục duy nhất bằng cách sử dụng mã được cung cấp bên dưới.

SỬ DỤNG master GO TẠO DATABASE test_database ĐI SỬ DỤNG [test_database] GO CREATE TABLE Nhân viên ([ID] INT NOT NULL IDENTITY (1,1), [Dep_ID] INT, [Name] varchar (200), [email] varchar (250) NULL , [city] varchar (250) NULL, [address] varchar (500) NULL CONSTRAINT Primary_Key_ID PRIMARY KEY (ID))

Đầu ra sẽ như bên dưới.



Tạo bảng “Nhân viên”

Bây giờ hãy chèn dữ liệu vào bảng. Chúng tôi cũng sẽ chèn các hàng trùng lặp. “Dep_ID” 003,005 và 006 là các hàng trùng lặp có dữ liệu tương tự trong tất cả các trường ngoại trừ cột nhận dạng có chỉ mục khóa duy nhất. Thực thi đoạn mã dưới đây.

SỬ DỤNG [test_database] ĐI CHÈN VÀO Nhân viên (Dep_ID, Tên, email, thành phố, địa chỉ) VALUES (001, 'Aaaronboy Gutierrez