试试这个 -
首先将ID列作为IDENTITY添加到您的表中 -
alter <tablename> add id INT IDENTITY
Run Code Online (Sandbox Code Playgroud)
然后使用以下查询删除重复记录 -
delete
FROM <tablename>
WHERE id IN
(
SELECT MAX(id)
FROM <tablename>
GROUP BY <columnnames defining uniqueness>
having count ( * ) > 1
)
Run Code Online (Sandbox Code Playgroud)
请注意,它只删除现有行的一个副本.如果有三行共享分组条件 - 这将不起作用,除非您多次执行查询(直到没有删除任何行)或更改删除条件.