Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Löschen Sie doppelte Datensätze und behalten Sie das Original

Da Sie SQL Server 2005+ verwenden, können Sie CTE verwenden, um Folgendes auszuführen:

;WITH cte AS 
(
  SELECT ROW_NUMBER() OVER (PARTITION BY Col1, Col2, Col3  ORDER BY (SELECT 0)) RN
  FROM  yourtable
)
DELETE FROM cte
WHERE RN > 1