Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

Làm thế nào để loại bỏ các bản ghi trùng lặp trong một bảng?

Bạn không cho biết tên bảng của bạn nhưng tôi nghĩ một cái gì đó như thế này sẽ hoạt động. Chỉ để lại bản ghi có ID thấp nhất. Trước tiên, bạn có thể muốn thử nghiệm với ROLLBACK!

BEGIN TRAN
DELETE <table_name>
FROM <table_name> T1
WHERE EXISTS(
SELECT * FROM <table_name> T2 
WHERE     
T1.TYPE_INT = T2.TYPE_INT  AND
T1.SYSTEM_VALUE = T2.SYSTEM_VALUE  AND
T1.NAME = T2.NAME  AND
T1.MAPPED_VALUE = T2.MAPPED_VALUE  AND
T2.ID > T1.ID
)

SELECT * FROM <table_name>

ROLLBACK


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Cách @@ MAX_CONNECTIONS hoạt động trong SQL Server

  2. Tại sao ISNUMERIC ('.') Trả về 1?

  3. Làm tròn số thập phân trong SQL Server 2008

  4. Cách xác định vị trí công việc tác nhân máy chủ SQL trong Azure Data Studio

  5. Các loại con trỏ máy chủ SQL - Sự khác biệt giữa con trỏ địa phương và toàn cầu là gì | Hướng dẫn sử dụng SQL Server / TSQL