有表:
create table t_test1(
id number,
name varchar2(50),
age number,
birthday date
);
1、选择出重复的行
select a.* from t_test1 a
where rowid <> (select max(rowid)
from t_test1 b
where a.id = b.id -- where语句后面的条件是你定义重复的规则
and a.name = b.name
and a.age = b.age
and a.birthday = b.birthday);
2、删除重复的行
delete from t_test1 a
where rowid <> (select max(rowid)
from t_test1 b
where a.id = b.id
and a.name = b.name
and a.age = b.age
and a.birthday = b.birthday);
分享到:
相关推荐
mysql虚拟了一个rowid(类似跟oracle的rowid)--SQL语句
总结一下几种查找和删除重复记录的方法,适用于有大量重复记录的情况
Oracle数据库rowid深入探析.pdf
oracle rowid rownum 等组成原理
Oracle学习笔记(rownum和rowid),有具体的代码案例讲解rownum和rowid
利用rowid快速在线更新海量数据 利用rowid快速在线更新海量数据
删除重复记录的方法原理:在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有列的内容都相同,但rowid不会...
oracle error invalid rowid
oracle 数据库 rowid与rownum的使用
查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1)2、删除表中多余的重复记录,...
ROWID是ORACLE中的一个重要的概念。用于定位数据库中一条记录的一个相对唯一地址值。通常情况下,该值在该行数据插入到数据库表时即被确定且唯一。ROWID它是一个伪列,它并不实际存在于表中。它是ORACLE在读取表中...
举例介绍在oracle中rownum和rowId的不同以及使用方法
几个删除重复记录的SQL语句 1.用rowid方法 2.用group by方法 3.用distinct方法 1。用rowid方法
oracle_SQL中rowid与rownum的使用
sql学习 oracle 行定位与rowid描述.sql
oracle_SQL中ROWID与ROWNUM的使用 很有用哦
筛选重复行,删除重复行 使用游标来实现。 delete from vitae a where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid)...
oracle_SQL中 rowid 和rownum的使用