Sometimes we required to remove duplicate records from a table although table has a UniqueID Column with identity.
Ex: CREATE TABLE dbo.Employee
(
EmpID int IDENTITY(1,1) NOT NULL,
Name varchar(55) NULL,
Salary decimal(10, 2) NULL,
Designation varchar(20) NULL
)
Remove Duplicate Records by using ROW_NUMBER()
WITH TempEmp (Name,duplicateRecCount)
AS
(
SELECT Name,ROWNUMBER() OVER(PARTITION by Name, Salary ORDER BY Name)
AS duplicateRecCount
FROM dbo.Employee
)
--Now Delete Duplicate Records
DELETE FROM TempEmp
WHERE duplicateRecCount > 1
0 Comment(s)