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 ...
随机推荐
- Dart语言学习(十) Dart流程控制语句
一.条件语句:if.if...elseif.if...elseif...else int score = 95; if (score >=90) { print('优秀'); } else if ...
- SpringBoot集成Freemarker前端模板
1.在pom.xml中引入freemarker的jar包 <dependency> <groupId>org.springframework.boot</groupId& ...
- ubuntu开启mysql远程连接,并开启3306端口
mysql -u root -p 修改mysql库的user表,将host项,从localhost改为%.%这里表示的是允许任意host访问,如果只允许某一个ip访问,则可改为相应的ip mysql& ...
- iOS中常用的手势
--前言 智能手机问世后的很长一段时间,各大手机厂商都在思考着智能手机应该怎么玩?也都在尝试着制定自己的一套操作方式.直到2007年乔布斯发布了iPhone手机,人们才认识到智能手机就应该这样玩. 真 ...
- nginx 网络层的优化
TCP三次握手四次挥手 系统层的优化,主动建立连接时的重试次数 net.ipv4.tcp_syn_retries = 6 建立连接时本地端口可用范围:手动可以tiaoz net.ipv4.ip_loc ...
- python操作日志
# # import nnlog# my_log=nnlog.Logger('nhy.log',when='S',backCount=5)# my_log.debug('这是dedug')# my_l ...
- 13 JavaScript Array对象&Boolean对象&Math对象&RegExp对象
万物皆对象,数组是对象,数组可以存储元素,函数,数组等对象 创建数组的三个方式: 常规方式:var myCars = new Array(); 简介方式:var myCars = new Arrray ...
- 在abp core中出现运行项目时EF获取到的appsetting.json或者appsettings.Production.json中的连接字符串为空
原因:有可能是生成的bin或者debug文件夹下没有将appsetting.json或者appsettings.Production.json文件生成过去 解决方法:手动拷贝过去,或者设置成自动生成过 ...
- Python环境搭建-1 Python介绍
Python翻译成汉语是蟒蛇的意思,并且Python的logo也是两条缠绕在一起的蟒蛇的样子,然而Python语言和蟒蛇实际上并没有一毛钱关系. Python语言是由荷兰程序员Guido van Ro ...
- 动态设置WX滚动条的高度(非常重要)
wxml: <scroll-view class="scroll" scroll-y="true" style="height:{{client ...