Finding and deleting duplicate records in sql server

FINDING DUPLICATE RECORDS
SELECT COLUMNNAME, COUNT(*) TOTALCOUNT
FROM TABLENAME
GROUP BY COLUMNNAME
HAVING COUNT(*) > 1
ORDER BY COUNT(*) DESC

DELETING THE DUPLICATE RECORDS
DELETE
FROM TABLE
WHERE ID NOT IN
(
SELECT MAX(ID)
FROM TABLENAME
GROUP BY COLUMNNAME
)