【oracle】sql处理重复数据
查询哪些数据有重复的
select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) > 1查询哪些数据没有重复的
select 字段1,字段2,count(*) from 表名 group by 字段1,字段2 having count(*) = 1删除重复数据,只保留最新的一条数据(rowid为实际存储数据的物理id,所以越大说明插入的越后,即越新)
delete from 表名 a
where a.rowid !=
(
select max(b.rowid) from 表名 b
where a.字段1 = b.字段1 and
a.字段2 = b.字段2
)数据量大的请执行:
create table 临时表 as
select a.字段1,a.字段2,MAX(a.ROWID) dataid from 正式表 a GROUP BY a.字段1,a.字段2;
delete from 表名 a
where a.rowid !=
(
select b.dataid from 临时表 b
where a.字段1 = b.字段1 and
a.字段2 = b.字段2
);
commit;对于完全重复的记录查询去重后的数据:
select distinct * from 表名删除多余的完全重复的数据
CREATE TABLE 临时表 AS (select distinct * from 表名);
delete from table 正式表;
insert into 正式表 (select * from 临时表);
drop table 临时表;
INSERT INTO t_table_bak
select distinct * from t_table;
转载于:https://blog.51cto.com/florait/1624095
【oracle】sql处理重复数据相关推荐
- sql 删除重复数据
sql 删除重复数据 问题是这样的.今天在一个技术群里,一个群友提了一个问题: 大概是,一张学生表 student,有字段 id (自增), name, 想要删除多余的重复name 的数据,剩下id最 ...
- SQL删除重复数据方法
原文:SQL删除重复数据方法 例如: id name value 1 a pp 2 ...
- SQL 查询重复数据并显示重复次数
查询有重复数据的记录 select * from F group by a,b,c,d having count(*)>1 删除重复一模一样的记录,只保留一条记录 select distinct ...
- oracle如何删除重复数据第一条,oracle删除重复数据保留第一条记录
oracle删除重复数据保留第一条记录 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 gr ...
- SQL中重复数据的查询与删除
========第一篇========= 在一张表中某个字段下面有重复记录,有很多方法,但是有一个方法,是比较高效的,如下语句: select data_guid from adam_entity_d ...
- oracle表中怎么去重复,oracle去掉表重复数据
今天在做项目过程中,碰到数据库表存在重复记录,显示的时候需要去掉重复的数据.想了老半天,最终用rank() over (partition by 分组字段 order by 排序字段 顺序) 解决了此 ...
- oracle 关联出现重复数据,ORACLE 分页查询出现重复记录的解决办法
今天在用Oracle分页查询数据的时候出现了重复数据,有的数据无法查出,很郁闷,想了想,找了资料,发现问题 分页语句: select * from ( select row_.*, rownum ro ...
- oracle sql 输出,将数据从Oracle SQL Developer导出到Excel .xlsx
将数据从Oracle SQL Developer导出到Excel .xlsx 我有一个小型项目,需要将Oracel SLQ Developer的数据导出到Excel(使用SLQ Developer中的 ...
- 高效删除Oracle数据库中重复数据,并保留最新一条的方法
在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢? 重复数据删除技术可以提供更大的备份容量,实现更长 ...
- oracle如何删除重复数据保留第一条记录
oracle删除重复数据保留第一条记录 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 select * from 表 where Id in (select Id from 表 g ...
最新文章
- Eclipse-常用插件
- Case Study: 利用JS设计高级检索功能通过PHP获取MySQL数据
- Android SDCard操作(文件读写,容量计算)
- LINUX 对引导加密
- 项目管理(1):备战pmp
- LeetCode 1019. 链表中的下一个更大节点(单调栈)
- android 仿支付宝菜单_这个 Android 几乎放弃的设计,iOS 要用上了?
- 简易的深度学习框架Keras代码解析与应用
- 学习测试环境部署,先从学会虚拟机安装系统开始
- 大数据开发笔记(四):Hive分区详解
- [转]asp导入excel数据到sql 2000
- 音视频的采集、编码、封包成 mp4 输出
- STC学习:“FM收音机”原理与测试说明
- 设置火狐 账号服务器,Firefox 账号问答
- linux openerp,openerp
- 鸡兔同笼问题。上有头30个,下有脚90只,问鸡兔各有多少只。
- COB--COF--COG--TAB--TCP
- 【软考】【系统架构设计师】2021上午真题及答案
- 1.5-20:球弹跳高度的计算
- 小米盒子4S Pro好不好,对比当贝盒子B1有什么缺点
热门文章
- 数据是指在计算机科学中能够被,5. 数据在 计算机科学中 是指所有能输入到计算机并 被计算机程序处理的符号的总称。( )...
- lua学习 第二章数据与标准库
- POJ - 1384 Piggy-Bank(完全背包)
- java 接口 同名方法_java 实现多个接口 方法重名的解决办法——内部类
- mysql 更新删除数据,MYSQL数据的插入、删除、更新
- MySQL Password Expired
- HTML(五)列表,区块,布局,表单和输入
- 第 7 章 Neutron - 066 - Neutron 网络基本概念
- postman 配置统一的ip地址
- (转载)Druid创始人Eric Tschetter详解开源实时大数据分析系统Druid