原始数据:

Table1

ID       Name     

-----------------------

1        a    

2        b

3        a

4        c

5        b

需要数据:

Table1

ID       Name     

-----------------------

1        a    

2        b

4        c

开始:

DELETE FROM TABLE1 WHERE ID IN (

SELECT ID FROM (

SELECT ID, RANK OVER(PARTRITION BY NAME ORDER BY ID) AS RankNumber FROM TABLE1

WHERE RankNumber<>1) -- 根据name分组,在组内设置等级编号,保留第一条,其他删掉

)

该SQL语句未经实际运行.但是原理为使用RANK OVER和PARTRITION关键字是不会错的,如果运行有问题请去msdn查阅相关资料

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-02-16
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-11-01
  • 2021-08-18
相关资源
相似解决方案