Xóa các bản ghi trùng nhau trong Sql Server

Có rất nhiều lý do dẫn đến bản ghi trùng nhau như lỗi lập trình, không validate form dẫn đến nhập nhiều thông tin trùng nhau mà người dùng không hay biết, hoặc có thể do synchronized bị lỗi….. Và sau khi phát hiện ra thì chúng ta nghĩ ngay đến việc làm thế nào để xóa chúng. Bây giờ mình sẽ bày cho các bạn một cách khá đơn giản

1. Thế nào là bản ghi trùng nhau

Bản ghi trùng nhau không nhất thiết phải có tất cả các cột giống nhau, đó là do mình định nghĩa và yêu cầu về nghiệp vụ. Ví dụ trong bảng student thì chỉ cần trùng dữ liệu ở cột mã sinh viên là có thể coi là trùng nhau.

Xóa dữ liệu trùng nhau trong sql server

Xóa dữ liệu trùng nhau trong sql server

hầu hết các trường hợp trong thực tế thì chúng ta yêu cầu dữ liệu phải giống nhau hết ở tất cả các cột ngoại trừ cột Id và ngày tháng

Xóa dữ liệu trùng nhau trong Sql server

Tất cả các cột phải giống nhau

2. Làm thế nào để xóa

Đầu tiên ta phải gom nhóm các dòng giống nhau lại

Xóa dữ liệu trùng nhau trong sql server

Xóa dữ liệu trùng nhau trong sql server

Bây giờ chỉ cần xóa hết tất cả các dòng RowNumber lớn hơn 1 là xong