SQL查询从同一个表中删除重复的行?

Tru*_*pti 3 sql

假设有一个employee表包含列名称,id和salary,它们在所有三行中都有2个或两个以上具有相同值的行...那么如何编写查询来删除重复的行...

Jah*_*ine 8

如果您使用Sql Server,这是一个很好的方法

with duplicates as
(select * ,ROW_NUMBER() over(

      partition by id,name, salary
      order by id,name, salary) rownum
from Person)
delete from duplicates where rownum > 1
Run Code Online (Sandbox Code Playgroud)