您的位置:首页 > 数据库

T-SQL删除重复数据,保留一条

2012-03-18 11:45 316 查看
原始数据:

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查阅相关资料
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: