oracle 删除掉重复数据只保留一条

转载 2015年07月06日 17:04:30
用SQL语句,删除掉重复项只保留一条

在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢
1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断
select * from people
where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录
delete from people
where   peopleName in (select peopleName    from people group by peopleName      having count(peopleName) > 1)
and   peopleId not in (select min(peopleId) from people group by peopleName     having count(peopleName)>1)

3、查找表中多余的重复记录(多个字段)
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
delete from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)

5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
select * from vitae a
where (a.peopleId,a.seq) in (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1)
and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)   

6.消除一个字段的左边的第一位:

update tableName set [Title]=Right([Title],(len([Title])-1)) where Title like '村%'

7.消除一个字段的右边的第一位:

update tableName set [Title]=left([Title],(len([Title])-1)) where Title like '%村'

8.假删除表中多余的重复记录(多个字段),不包含rowid最小的记录
update vitae set ispass=-1
where peopleId in (select peopleId from vitae group by peopleId

Oracle删除重复记录只保留一条数据的几种方法

Oracle删除重复记录只保留一条数据的几种方法 1. 问题描述 BBSCOMMENT表为BBSDETAIL的从表,记录商户评价信息。因为数据倒腾来倒腾去的,有很多重复数据。表结构如下: C...
  • haiross
  • haiross
  • 2014年08月12日 11:53
  • 21054

Oracle查询重复数据并删除,只保留一条记录

前言项目中,在“资源目录-在线编目”中,资源项子表存在多条重发数据,需要进行数据清理,删除重发的数据,最终只保留一条相同的数据。操作的表名:R_RESOURCE_DETAILS操作步骤一、重复记录根据...

高效删除Oracle数据库中重复数据,并保留最新一条的方法

在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢?   重复数据删除技术可以提供更大的备份容量,实...
  • e_wsq
  • e_wsq
  • 2011年08月30日 16:08
  • 1191

Oracle 删除重复数据只留一条

转载:http://blog.sina.com.cn/s/blog_69a69e1a010121ts.html   (2012-04-17 10:47:13) 查询及删除重复记录的SQL...

oracle 删除重复记录 只保留一条

在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来很多的不便,那么怎么删除这些重复没有用的数据呢?   重复数据删除技术可以提供更大的备份容量...
  • eric145
  • eric145
  • 2013年10月28日 14:19
  • 1050

删除完全一样的重复数据, 保留其中一条

--1. 删除已存在表. IF EXISTS ( SELECT 1 FROM sysobjects WHERE id = OBJECT_ID(N'test') AND OBJ...
  • yenange
  • yenange
  • 2013年07月19日 09:45
  • 1383

SQL删除重复数据只保留一条

用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 ...

MySQL中删除重复数据只保留一条

用SQL语句,删除掉重复项只保留一条 在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢  1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 ...

mysql 删除重复数据只保留一条记录

删除重复数据保留name中id最小的记录 delete from order_info where id not in (select id from (select min(id) as id ...

mysql删除重复数据只保留一条

简述最近在做一个项目,涉及到需要同步远端数据库的数据到本地,由于误操作导致数据库里面的数据出现重复(冗余) ps: 由于数据量比较大,最后发现冗余了几万条记录 so 手动删除,呵呵 // 下面将以简单...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:oracle 删除掉重复数据只保留一条
举报原因:
原因补充:

(最多只允许输入30个字)