13 February 2014

Delete Duplicate Records in sqlserver Table



Following code is useful to delete duplicate records. The table must have identity column, which will be used to identify the duplicate records. Table in example has ID as Identity Column and Columns which have duplicate data are DuplicateColumn1, DuplicateColumn2 and DuplicateColumn3.

DELETE
FROM MyTable
WHERE ID NOT IN
(
SELECT MAX(ID)
FROM MyTable
GROUP BY DuplicateColumn1, DuplicateColumn2, DuplicateColumn3)

If there is no identity column then

Add Identity Col and perform the operation displayed above and drop Identity Col.

No comments:

Post a Comment