Oracle删除重复记录三种方法
--方法1:rowid
--显示重复的行 select * from persons p1 where rowid<> (select max(rowid) from persons p2 where p1.pid=p2.pid);
说明:
如果,有多个字段相同,则添加即可,如: select * from persons p1 where rowid<> (select max(rowid) from persons p2 where p1.pid=p2.pid and p1.pname=p2.pname);
--删除重复的行 delete from persons p1 where rowid<> (select max(rowid) from persons p2 where p1.pid=p2.pid);
总结:
A:每张表的记录可能相同,但是每张表的记录的ROWID是唯一的;
B:做题思路
a:显示相同字段的最大ROWID b:留下相同字段的最大ROWID所在的记录,其它的记录删除;
--方法二:group by
按照PID分组,显示pid数量大于1的记录
select pid from persons group by pid having count(pid)>1;
删除重复行
delete from persons where pid in (select pid from persons group by pid having count(pid)>1);
此方法将删除有重复记录的所有行,不会留下一条刻录;
--方法三:distinct
取消重复行 select distinct * from persons;
建表并复制“取消重复行的表中的数据” create table table_new as select distinct * from persons;
删除persons表中数据 delete from persons;
把table_new表中没有重复行的数据插入到到persons表中 insert into persons select * from table_new;
总结:
使用中间表导入导出数据来删除重复行;
Oracle删除重复记录三种方法相关推荐
- ORACLE查询删除重复记录三种方法
比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 复制代码代码如下: select p1.* from persons p1,perso ...
- Oracle删除数据的三种方式
Oracle删除数据的三种方法 删除表(记录和结构)的语句delete--truncate--drop drop命令 drop table 表名: 例如:删除学生表(student) drop tab ...
- mysql删除重复记录语句的方法 作者: 字体:[增加 减小] 类型:转载 时间:2010-06-21 我要评论 查询及删除重复记录的SQL语句,虽然有点乱,但内容还是不错的。 . .
mysql删除重复记录语句的方法 作者: 字体:[增加 减小] 类型:转载 时间:2010-06-21 我要评论 查询及删除重复记录的SQL语句,虽然有点乱,但内容还是不错的. 例如: id name ...
- oracle sql删除重复,【转帖】SQL Oracle删除重复记录
1.Oracle删除重复记录. 删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录. delete from people where peopleI ...
- java list 合并 重复的数据_Java ArrayList合并并删除重复数据3种方法
首页 > 基础教程 > 集合框架 > ArrayList类 Java ArrayList合并并删除重复数据3种方法 1. 通过List自带方法list.retainAll() Lis ...
- Oracle新建数据库的三种方法
Oracle新建数据库的三种方法 1.通过运行Oracle Database Configuration Assistant 创建.配置.或删除数据库(也可在命令行下输入dbca): 2.用命令行的方 ...
- sql oracle分页查询,【SQL】Oracle分页查询的三种方法-Oracle
[SQL]Oracle分页查询的三种方法 采用伪列 rownum 查询前10条记录 [sql] select * from t_user t where ROWNUM <10; 按照学生ID排名 ...
- Oracle数据库备份与恢复的三种方法
Oracle数据库备份与恢复的三种方法 Oracle数据库有三种标准的备份方法,它们分别是导出/导入(EXP/IMP).热备份和冷备份.导出备件是一种逻辑备份,冷备份和热备份是物理备份. 一. 导出/ ...
- oracle 删除重复记录
比如现在有一人员表 (表名:peosons) 若想将姓名.身份证号.住址这三个字段完全相同的记录查询出来 select p1.* from persons p1,persons p2 wh ...
- mysql删除重复记录语句的方法
例如: id name value 1 a pp 2 a pp 3 b iii 4 b pp 5 b pp 6 c pp 7 c pp 8 c iii id是主键 要求得到这样的结果 id name ...
最新文章
- 【规范】前端编码规范——jquery 规范
- mongodb 学习笔记 2 --- 修改器
- 什么软件测试显示器响应时间准,自己动手测试液晶显示器响应时间
- 【华为云技术分享】Nginx应用调优案例
- 如何清空_回收站删除的文件怎么恢复?回收站清空如何恢复?
- 软件定义无线电的实时频谱分析仪相关原理介绍(二)——射频,中频和基带信号
- 移动支付这回真的逆天了!什么才是真正的资本运作?让微信春晚来告诉你!...
- 戴尔台式计算机主板型号,戴尔台式机主板型号_昨天拿戴尔台式电脑去修说主板坏了,今天去拿的。结果说主板拆不下。_戴尔台式机主板...
- (十四)商品详情页实现
- 项目工作绩效数据、项目工作绩效信息、项目工作绩效报告
- 服务器主板最多支持内存频率,b360主板支持内存频率多少
- uniapp对接腾讯即时通讯TIM 发图片消息问题
- python urllib之parse中urlencode、quote、unquote使用方法
- 9.3.2 自然连接(NATURAL JOIN)
- 安卓股票悬浮窗_Android 实现悬浮窗功能
- (c语言)兔子繁衍问题
- cf3月14服务器维护,CF3月14在线活动背后的真相详情
- 浏览器中的主页图标不见了
- ddd linux 调试工具_Centos安装DDD调试器
- java斜椭圆_斜椭圆外接正矩形计算方法
热门文章
- D - 昂贵的聘礼(最短路径)
- 单源最短路(SPFA算法)
- 计算机语言有哪些面向对象,面向对象的几个概念
- python 获取文件大小_Python解决女朋友看电影没字幕的需求
- 全国加油站分布数据/停车场分布/公园分布/景区分布/保护区分布/2020年poi感兴趣点
- SLAM学习笔记-------------(11)回环检测
- linux 更新目录时间戳,修改linux 文件的时间戳
- 计算机一直在启动修复怎么关机,电脑开机总是要启动修复修复后重启还要修复怎么处理方法...
- 用户使用双屏扩展桌面类软件时,所遇到的主要疑难问题汇编
- Spring Cloud Gateway替代zuul作为API网关(一)