--创建测试表
create table test(id number, name varchar2(20));
insert into test(id, name) values(1,'');
insert into test(id, name) values(1,'');
insert into test(id, name) values(2,'');
insert into test(id, name) values(2,'');
insert into test(id, name) values(3,'');
insert into test(id, name) values(3,'');
commit;
select * from test; --查询相同记录
select id,name from(select id,name,count(*) from test group by id,name having count(*)>1);
select id,name from test a where rowid > (select min(rowid) from test b where a.id = b.id and a.name = b.name);
select id,name from test a where rowid <> (select max(rowid) from test b where a.id = b.id and a.name = b.name); --查询不同记录
1.select * from test t where t.rowid <= (select min(x.rowid) from test x where t.id = x.id and t.name = x.name);
2.select distinct t.* from test t; --删除重复记录
1.delete from test t where t.rowid > (select min(x.rowid) from test x where t.id = x.id and t.name = x.name);
2.delete from test t where t.rowid <> (select min(x.rowid) from test x where t.id = x.id and t.name = x.name);
3.delete from test
where rowid in(select rd
from(select rowid rd,row_number()over(partition by id,name order by 1 )rn
from test
)
where rn <>1
);

Oracle中查询和删除相同记录的3种方法的更多相关文章

  1. oracle中查找和删除重复记录的几种方法总结

    平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示 ORA-01452 :不能创建唯一索引,发现重复记录. 下面总结一下几种查找和删除重复记录的方法(以表CZ为例): 表CZ的结 ...

  2. 【转】oracle 中随机取一条记录的两种方法

    oracle 中随机取一条记录的两种方法 V_COUNT INT:=0; V_NUM INT :=0; 1:TBL_MYTABLE 表中要有一个值连续且唯一的列FID BEGIN SELECT COU ...

  3. spring+hibernate删除单条记录的几种方法

    spring+hibernate删除单条记录的几种方法

  4. MySQL中查询、删除重复记录的方法大全

    查找所有重复标题的记录: select title,count(*) as count from user_table group by title having count>1; SELECT ...

  5. Oracle中查询前10条记录

    在Oracle怎样查询表中的top10条记录呢? select * from test where rownum <=10     ----说明:rownum只能用于<或<=运算,如 ...

  6. oracel 查询删除重复记录的几种方法

    建表语句CREATE TABLE Persons(PersonID int,           LastName varchar(255),FirstName varchar(255),Addres ...

  7. Oracle 查询并删除重复记录的SQL语句

    查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断select * from peoplewhere peopleId in (select  ...

  8. oracle 查询及删除重复记录的SQL语句

    查询及删除重复记录的SQL语句 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 group ...

  9. mysql 数据表中查找、删除重复记录

    为了性能考虑,在阅读之前提醒大家,如果有子查询,子查询查询到的数据最好不要超过总数据量的30%. 查询有重复数据的记录 select * from F group by a,b,c,d having ...

随机推荐

  1. Python3安装Requests

    安装Requests费了1天的时间,囧.终于还是在官网找到解决方法,可以参考这个http://docs.python-requests.org/en/latest/user/install/#inst ...

  2. nginx和nfs

    1.安装nginx #yum install epel-release -y #yum install nginx -y #vim /usr/local/nginx/conf/nginx.conf - ...

  3. 初识JavaScript闭包

    一个问题引发的思考 在我学习javascript的事件时,有一个小任务是使用JS来实现 li 列表项在鼠标悬浮时会有背景阴影的动态效果,很自然想到用for 来为每个列表项添加onmouseover 和 ...

  4. linux系统环境与文件权限

    默认有6个命令交互通道和一个图形界面交互通道,默认进入到的是图形界面通道 命令交互模式切换:ctrl+alt+f1---f6 图形交互界面 ctrl+alt+f7 1.图形界面交互模式 - termi ...

  5. EF CodeFirst方式 Fluent Api配置

    一.One-to-One Relationship[一对一关系] 两个表之间,只能由一个记录在另外一个表中.每一个主键的值,只能关联到另外一张表的一条或者零条记录.请记住,这个一对一的关系不是非常的普 ...

  6. 八:Vue下的国际化处理

    p { margin-bottom: 0.25cm; line-height: 120% } 1:首先安装 Vue-i8n npm install vue-i18n --save 注:-save-de ...

  7. 关于myeclipse启动报错:An internal error has occurred. java.lang.NullPointerException解决办法

    启动myeclipse报错,百度了一下网友处理方式,对比日志,发现现在已有的教程真的是巨人坑: 如果出现了上述的错误按照如下的3个步骤解决:1.首先关闭MyEclipse工作空间.2.然后删除工作空间 ...

  8. Who do you want to be bad? (谁会是坏人?)人工智能机器小爱的问话

    人工智能的语言理解一直是一个千古谜团. 正如人工智能机器小爱(A.L.I.C.E)的问话:“Who do you want to be bad ?(谁会是坏人?)” 纵观世界上的140多种语言,汉语是 ...

  9. 关于mysql驱动包的in语句的bug

    今天发现一个MySQL驱动包执行in语句的一个bug,也许会有很多人还不知道,那么跟大家分享一下. 驱动包版本:mysql-connector-java-5.1.36.jar 在使用dbutils执行 ...

  10. 机器学习技法:05 Kernel Logistic Regression

    Roadmap Soft-Margin SVM as Regularized Model SVM versus Logistic Regression SVM for Soft Binary Clas ...