/* Delete Duplicate records If table don't have primary key */
WITH CTE (COl1,Col2, DuplicateCount)
AS
(
SELECT COl1,Col2,ROW_NUMBER() OVER(PARTITION BY COl1,Col2 ORDER BY Col1) ASDuplicateCountFROM DuplicateRcordTable
)
DELETE
FROM CTEWHERE DuplicateCount > 1
GO
/*Delete the duplicate record if table have primary key */
DELETE
FROM MyTableWHERE ID NOT IN(SELECT MAX(ID)FROM MyTableGROUP BY DuplicateColumn1, DuplicateColumn2, DuplicateColumn3)
WITH CTE (COl1,Col2, DuplicateCount)
AS
(
SELECT COl1,Col2,ROW_NUMBER() OVER(PARTITION BY COl1,Col2 ORDER BY Col1) ASDuplicateCountFROM DuplicateRcordTable
)
DELETE
FROM CTEWHERE DuplicateCount > 1
GO
/*Delete the duplicate record if table have primary key */
DELETE
FROM MyTableWHERE ID NOT IN(SELECT MAX(ID)FROM MyTableGROUP BY DuplicateColumn1, DuplicateColumn2, DuplicateColumn3)
No comments:
Post a Comment