Oracle删除重复数据并且只留其中一条数据
数据库操作中,经常会因为导数据造成数据重复,需要进行数据清理,去掉冗余的数据,只保留正确的数据
一:重复数据根据单个字段进行判断
1、首先,查询表中多余的数据,由关键字段(name)来查询。
select * from table_name where name in (select name from table_name group by name having count(name)>1)
2、删除表中重复数据,重复数据是根据单个字段(name)来判断,只留有rowid最小的记录
delete from table_name where (name) in
(select Name from table_name 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 table_name t1 where (t1.name,t1.unit_id) in
(select t2.name,t2.unit_id from table_name t2 group by t2.name,t2.unit_id having count(*)>1)
2、删除表中重复数据,重复数据是根据多个字段(name,UNIT_ID)来判断,只留有rowid最小的记录
delete from table_name a where (a.name,a.UNIT_ID) in
(select name,UNIT_ID from table_name group by name,UNIT_ID having count(*) > 1)
and rowid not in (select min(rowid) from table_name group by name,UNIT_ID having count(*)>1)
3、查询表中重复数据,重复数据是根据多个字段(name,UNIT_ID)来判断,不包含rowid最小的记录
select name,unit_id from table_name a where (a.Name,a.UNIT_ID) in
(select Name,UNIT_ID from table_name group by name,UNIT_ID having count(*) > 1)
and rowid not in (select min(rowid) from table_name group by Name,UNIT_ID having count(*)>1)
Oracle删除重复数据并且只留其中一条数据的更多相关文章
- 初探oracle删除重复记录,只保留rowid最小的记录
如题,初探oracle删除重复记录,只保留rowid最小的记录(rowid可以反映数据插入到数据库中的顺序) 一.删除重复记录可以使用多种方法,如下只是介绍了两种方法(exist和in两种). 1.首 ...
- oracle删除重复记录,只保留rowid最小的记录
初探oracle删除重复记录,只保留rowid最小的记录 如题,初探oracle删除重复记录,只保留rowid最小的记录(rowid可以反映数据插入到数据库中的顺序) 一.删除重复记录可以使用多种 ...
- mysql中删除重复记录,只保留一条
表结构如下: mysql> desc test1; +--------------+------------------+------+-----+---------+------------- ...
- Access数据库删除重复记录,只保留一条记录的做法
Access数据库删除重复记录,只保留一条记录的做法: 只保留id最小的记录方法: delete from [表名] where id not in (select min(id) from [表名] ...
- SQL Server 删除重复记录,只保留一条记录
原文地址:http://blog.csdn.net/eriato/article/details/17417303 有张表格之前没有设计关键字段的唯一约束,导致有时候执行插入操作时不小心执行了多次就出 ...
- SQL删除重复的记录(只保留一条)
首先新建表: --创建示例表 CREATE TABLE t ( id ,) PRIMARY KEY, a ), b ) ) --插入数据 INSERT INTO t SELECT 'aa','bb' ...
- SQL 删除重复记录,并保留其中一条
--查找表中多余的重复记录select * from code_xz where code in (select code from code_xz group by code having coun ...
- SQL 删除重复记录,只保留一条记录
DELETE FROM py_bond_shenzhen_exchange_opinion_2_1 WHERE id NOT IN (SELECT id FROM (SELECT min(id) AS ...
- oracle 查询重复数据并且删除, 只保留一条数据
数据库操作中,经常会因为导数据造成数据重复,需要进行数据清理,去掉冗余的数据,只保留正确的数据 一:重复数据根据单个字段进行判断 1.首先,查询表中多余的数据,由关键字段(name)来查询. sele ...
随机推荐
- Redis学习笔记(一)配置文件参数说明
1.Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程 daemonize no 2.当redis以守护进程方式运行时,Redis默认会把pid写入/var/run/ ...
- 笔记-capped collection
笔记-capped collection 1. collection 1.1. 简介 集合分为固定与非固定collection,capped collection 1.1.1. c ...
- Spark教程——(9)Oozie编排Spark任务
进入Hue管理界面,打开Oozie Editor: 将打包好的Spark程序上传到HDFS上,拖拽Spark任务,编辑任务属性,选择打包好的Spark程序,设置主函数所在类,设置选项参数: 保存为任务 ...
- SpringBoot之日志记录-专题四
SpringBoot之日志记录-专题四 六.日志管理 6.1使用log4j记录日志 6.1.2新建log4j配置文件 文件名称log4j.properties #log4j.rootLogger=CO ...
- SRS源码——Listener
1. 整理了一下Listener相关的UML类图:
- 解决请求中的post、get乱码问题以及响应的乱码问题
post: get: response:
- 吴裕雄--天生自然HADOOP学习笔记:基本环境配置
实验目的 学习安装Java 学习配置环境变量 学习设置免密码登陆的方法 掌握Linux环境下时间同步的配置 实验原理 1.Java的安装 java是大数据的黄金语言,这和java跨平台的特性是密不可分 ...
- 在fragment中实现返回键单击提醒 双击退出
最近在练习一个小项目,也就是郭霖大神的开源天气程序,尝试用mvp架构加dagger2来重写了一下,大致功能都实现了,还没有全部完成. 项目地址 接近完成的时候,想在天气信息页面实现一个很常见的功能,也 ...
- Linux centos7 shell特殊符号、cut命令、sort_wc_uniq命令、tee_tr_split命令、shell特殊符号
一.shell特殊符号.cut命令 *任意字符 [root@davery ~]# ls /tmp/*.txt/tmp/1.txt /tmp/2.txt /tmp/q.txt[root@davery ~ ...
- Android:用代码修改一行文字中某几个字的颜色
TextView changeVideoQualityTxt = (TextView) rootView.findViewById(R.id.enter_wireless_display_txt); ...