DECLARE @COUNT INT DECLARE @TOTAL INT DECLARE @POST VARCHAR(100) DECLARE @TBL TABLE ( ID INT IDENTITY, Post VARCHAR(100), TOTAL INT ) INSERT INTO @TBL SELECT Post, count(*) as [count] FROM tblemp GROUP BY Post HAVING count(*) > 1 SET @COUNT=(SELECT COUNT(*) FROM @TBL) WHILE @COUNT>0 BEGIN SET @POST=(SELECT POST FROM @TBL WHERE ID=@COUNT) SET @TOTAL=(SELECT TOTAL FROM @TBL WHERE ID=@COUNT) DELETE TOP(@TOTAL-1) FROM tblemp WHERE POST=@POST SET @COUNT=@COUNT-1 END Other Way////////////////////////// How to Delete duplicate rows from a table? http://www.cryer.co.uk/brian/sql/sql_delete_duplicates.htm Create table tbltest(Id int identity,Name varchar(50),Age int) //Insert Duplicate Record in the table insert into tbltest values('Amandeep',25) //Select * from tbltest 1 Manpreet 24 7 Amandeep 25 8 Amandeep 25 4 Amandeep 25 9 Amandeep 25 10 Manpreet 24 11 Manpreet 24 12 Manpreet 24 delete T1 from tbltest T1, tbltest T2 where T1.Name = T2.Name and...