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查阅相关资料
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查阅相关资料
相关文章推荐
- SQL语句删除2条重复数据一条保留一条
- SQL删除重复数据只保留一条
- SQL 删除重复的数据(多个字段判断),只保留一条数据
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- sql删除重复数据只保留一条
- SQL删除重复数据只保留一条
- sql删除重复数据,只保留一条
- SQL删除重复数据只保留一条
- Oralce中SQL删除重复数据只保留一条(转)
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条
- sql 删除重复数据保留一条
- SQL删除重复数据只保留一条
- 删除oracle 表中重复数据sql语句、保留rowid最小的一条记录
- SQL删除重复数据只保留一条
- SQL循环遍历,删除表里某一列是重复的数据,只保留一条。
- sql中删除重复行(所有列的数据都是相同的只保留一条数据)
- SQL删除重复数据只保留一条
- SQL删除重复数据只保留一条