Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Supprimer les enregistrements en double en conservant l'original

Puisque vous utilisez SQL Server 2005+, vous pouvez utiliser CTE pour effectuer ceci :

;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