oracle 查询重复数据并且删除, 只保留一条数据
数据库操作中,经常会因为导数据造成数据重复,需要进行数据清理,去掉冗余的数据,只保留正确的数据
一:重复数据根据单个字段进行判断
1、首先,查询表中多余的数据,由关键字段(name)来查询。
select * from OA_ADDRESS_BOOK where name in (select name from OA_ADDRESS_BOOK group by name having count(name)>1)
2、删除表中重复数据,重复数据是根据单个字段(Name)来判断,只留有rowid最小的记录
delete from OA_ADDRESS_BOOK where (Name) in
(select Name from OA_ADDRESS_BOOK group by Name having count(Name) >1)
and rowid not in (select min(rowid) from OA_ADDRESS_BOOK group by Name having count(Name)>1)
二:重复数据根据多个字段进行判断
1、首先,查询表中重复数据,由关键字段(Name,UNIT_ID)来查询。
select * from OA_ADDRESS_BOOK book1 where (book1.name,book1.unit_id) in
(select book2.name,book2.unit_id from OA_ADDRESS_BOOK book2 group by book2.name,book2.unit_id having count(*)>1)
2、删除表中重复数据,重复数据是根据多个字段(Name,UNIT_ID)来判断,只留有rowid最小的记录
delete from OA_ADDRESS_BOOK a where (a.Name,a.UNIT_ID) in
(select Name,UNIT_ID from OA_ADDRESS_BOOK group by Name,UNIT_ID having count(*) > 1)
and rowid not in (select min(rowid) from OA_ADDRESS_BOOK group by Name,UNIT_ID having count(*)>1)
3、查询表中重复数据,重复数据是根据多个字段(Name,UNIT_ID)来判断,不包含rowid最小的记录
(select Name,UNIT_ID from OA_ADDRESS_BOOK group by Name,UNIT_ID having count(*) > 1)
and rowid not in (select min(rowid) from OA_ADDRESS_BOOK group by Name,UNIT_ID having count(*)>1)
oracle 查询重复数据并且删除, 只保留一条数据相关推荐
- sql查询 找出重复数据,并且只保留一条.
1.(错误操作)查所有的重复数据 很明显下列代码运行速度很慢 select * from 表 t where (select count(*) from 表 where 字段1=t.字段1 AND 字 ...
- 删除重复数据只保留一条数据
一.表结构与数据 CREATE TABLE `duptab` (`id` int(11) NOT NULL AUTO_INCREMENT,`name` varchar(255) DEFAULT NUL ...
- 如何只保留1000条数据mysql_php实现只保留mysql中最新1000条记录
mysql_connect("localhost","root","root"); mysql_select_db("test&q ...
- 数据库SQL去重,保留一条数据
利用SQL,删除掉重复多余的数据,并且只保留一条数据. 1.查找表中多余的重复记录,重复记录是根据单个字段(teamId)来判断 select * from team where teamId in ...
- oracle查询重复保留一条-删除,Oracle查询重复数据并删除,只保留一条记录
前言 项目中,在"资源目录-在线编目"中,资源项子表存在多条重发数据,需要进行数据清理,删除重发的数据,最终只保留一条相同的数据. 操作的表名:R_RESOURCE_DETAILS ...
- MySql删除重复数据(只保留一条)
MySql删除重复数据 1. 问题引入 前一段遇到MySql数据重复的问题.由于重复向同一张表导入同一批数据,导致前台展示的数据重复,唯一方便快捷的方法莫过于利用delete操作删除重复数据(已经封板 ...
- mysql 查询删除重复数据,保留其中一条数据
一.查询重复数据 --------根据多个字段查询重复数据 SELECT* FROMtable_name a WHERE(a.字段1, a.字段2) IN (SELECT字段1,字段2FROMtabl ...
- oracle 快速移动数据和删除重复数据但保留其中一条数据
在项目中会遇到将一个表的部分数据移动另一个表中的事情. insert into table1 (id,其他属性) select t.a,t.c...from table2 t 注意属性类型大小要一致 ...
- oracle+获取最后一行数据库,获取表最后一条数据
数据库中如何查询表的最后一条记录? MySql : SELECT * FROM 表名 ORDER BY 表_ID DESC LIMIT 1 SQLServer/Oracle : SELECT TOP ...
最新文章
- java中刷新页面的js,[Java教程]js页面刷新之实现框架内外刷新(整体、局部)
- python3.8安装教程-二、Python2.7的安装并与Python3.8共存
- Maven-学习笔记02【基础-Maven的安装和仓库种类】
- 并发测试mysql_实践100个线程:一次MySQL数据并发问题
- oracle数据库日期格式的运算,Oracle时间类型date,timestamp时间差计算
- MaxCompute客户端在windows命令行下查询中文乱码怎么办?
- 数据标准化处理方法_机器学习系列-数据预处理-数据标准化(归一化)-理论
- 学计算机的基本技能,大学计算机基础—基本应用技能[规整].pdf
- JAVA读取Properties文件对象常用方法总结
- java 内存泄漏问题_Java内存泄露的理解与解决(转)
- 一个字由两个字节组成
- ODL之VTN详解-Mac Map
- C++复习中相关要点记录(三)
- C++学习笔记:从C到C++之C++对C的加强
- Vue中使用marked
- 图书馆座位预约系统管理/基于微信小程序的图书馆座位预约系统
- echarts使用e_macarons方法
- Java学习笔记:Word中创建图表如此简单
- c#中实现Word、Excel、Pdf预览及音频和视频播放
- Win10,Win11系统安全中心提醒“找到可能不需要的应用”弹窗,如何关闭?
热门文章
- 在对话框中应用CScrollView显示图像
- python动态规划详解_经典动态规划例题整理(Python版)
- 64位游戏找call_《使命召唤16:战区》配置注册登录全攻略,三步让你极迅游戏!...
- window.unload ajax不执行_AJAX
- Spring复习笔记:2
- 姿态检测 树莓派_怎样在树莓派上轻松实现深度学习目标检测?
- python 使用安装虚拟环境 virtualenv
- 征途linux mysql_MySql征途之mysql常用命令
- 小程序生命周期_来,简单说说小程序的生命周期?
- python可视化窗口制作一个摇骰子游戏_使用python制作一个抽奖小游戏——骰子游戏...