Try this -
Add id column as IDENTITY to your table first -
alter <tablename> add id INT IDENTITY
Then use below query to delete duplicate records -
delete
FROM <tablename>
WHERE id IN
(
SELECT MAX(id)
FROM <tablename>
GROUP BY <columnnames defining uniqueness>
having count ( * ) > 1
)
Please take into consideration, that it only deletes one duplicate of existing row. If there are i.e. three rows that share grouping condition - this will not work, unless you execute query multiple times (until no rows were deleted) or change the delete condition.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…