ORACLE,SQLSERVER,DB2 删除重复数据SQL
2012-10-18 18:49
661 查看
1.创建TUser表:
2.插入重复数据到TUser表中
DB2:
SQLSERVER:
ORACLE:
CREATE TABLE TUser( Name varchar(50), Region varchar(50), Remark varchar(100) )
2.插入重复数据到TUser表中
INSERT into TUser VALUES ('Tom','Franc', 'test1') INSERT into TUser VALUES ('Tom','Japan', 'test3') INSERT into TUser VALUES ('Mary','Japan', 'test4') INSERT into TUser VALUES ('Tom','German', 'test5')
DB2:
DELETE FROM (SELECT ROW_NUMBER() OVER (partition BY name ORDER BY name) AS RN FROM TUSER) AS E where RN>1
SQLSERVER:
WITH [CTE_DUPLICATE] AS (SELECT ROW_NUMBER() OVER (partition BY name ORDER BY name) AS RN FROM TUser ) delete from [CTE_DUPLICATE] where RN>1
ORACLE:
DELETE from TUser where C_STP_CODE IN (SELECT NAME FROM TUser GROUP BY NAME HAVING COUNT(NAME)>1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM TUser GROUP BY NAME HAVING COUNT(NAME) >1);
相关文章推荐
- [oracle]删除一张表中重复数据,保留其id字段最小的sql
- oracle 查询重复数据并且删除, 只保留一条数据的SQL语句
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- SQL 已更新或删除的行值要么不能使该行成为唯一行(sqlserver中有多行所有的列重复的数据,无法更新或删除问题)
- Oracle 删除重复数据只留一条 查询及删除重复记录的SQL语句 1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 wher
- SQL 已更新或删除的行值要么不能使该行成为唯一行(sqlserver中有多行所有的列重复的数据,无法更新或删除问题)
- SQL 已更新或删除的行值要么不能使该行成为唯一行(sqlserver中有多行所有的列重复的数据,无法更新或删除问题)
- SQL 已更新或删除的行值要么不能使该行成为唯一行(sqlserver中有多行所有的列重复的数据,无法更新或删除问题)
- SQL 已更新或删除的行值要么不能使该行成为唯一行(sqlserver中有多行所有的列重复的数据,无法更新或删除问题)
- 删除oracle 表中重复数据sql语句、保留rowid最小的一条记录
- 删除表中重复的数据(oracle,sql)
- sqlserver 删除重复数据的简单方法
- Mysql、SqlServer和Oracle 添加修改删除字段sql
- SQL笔记---删除重复数据,保留第一个
- 如何删除SQL中重复的数据行
- sql语句删除由于无主键导致完全重复的数据方法
- Oracle 删除重复数据只留一条
- SQL删除重复数据方法
- 笔记:Oracle查询重复数据并删除,只保留一条记录
- sql删除重复数据方法