查找、删除表中重复的记录
- 作者:xiaoxiao
- 发表时间:2020-12-23 10:38
- 来源:未知
在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在ORACLE中的哪一个数据文件、块、行上;在重复的记录中,可能所有列的内容都相同,但rowid不会相同,所以只要确定出重复记录中那些具有最大rowid的就可以了,其余全部删除。
实现方法: SQL> create table test( 2 name varchar(50), 3 sex varchar2(2) 4 ) 5 /<br>delete from test a where a.rowid!=(select max(rowid) from test b where a.name=b.nameand a.sex=b.sex);