Oracle 删除重复数据只留一条

15410年前 (2015-03-12)oracle数据库3556

 

查询及删除重复记录的SQL语句
 
1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断
 
select * from 表 where Id in (select Id from 表 group byId having count(Id) > 1)
 
2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录
 
DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ROWID NOT IN (SELECT MIN(ROWID) FROM 表 GROUP BY id HAVING COUNT(*) > 1);
 
3、查找表中多余的重复记录(多个字段)
 
select * from 表 a where (a.Id,a.seq) in(select Id,seq from 表 group by Id,seq having count(*) > 1)
 
4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录
 
delete from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)
 
5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录
 
select * from 表 a where (a.Id,a.seq) in (select Id,seq from 表 group by Id,seq having count(*) > 1) and rowid not in (select min(rowid) from 表 group by Id,seq having count(*)>1)

再一个注意事项: 是岗位设置的岗位代码,最好是从用户设置里该分局下点击某一户,找到该分局的代码,复制后将后面的几个0

select b.nsrsbh,a.wfwzdm from GSJ_NSXYDJ_ZB_DJXX a,nsxydj_dj_nsrxx b  where a.djxh=b.djxh;
select * from GSJ_NSXYDJ_DM_YPFJ t;
select * from dm_swjg c where c.swjg_mc like '%莱州%'--23706830500
select * from wsbspt.dj_nsrxx d where d.zgswskfj_dm like '2370683%',改为自然数,并避免与已有的岗位代码重复。

本文原创,转载必追究版权。

分享给朋友:

相关文章

Oracle sql优化

 一、问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据...

oracle sql中如何判断是否含有中汉字

  使用函数length和lengthb来判别    使用函数length与lengthb来判别,是基于中文字符占用2~4个字节,而ASCII字符占用一个字节,...

如何彻底卸载删除oracle数据库

 windows下如何彻底删除Oracle 软件环境: 1、Windows 2000+ORACLE 8.1.7 ,oracle 10g2、ORACLE安装路径为:C:\ORACLE实现方...

PLSQL 11 注册码

注册码:Product Code:4t46t6vydkvsxekkvf3fjnpzy5wbuhphqzserial Number:601769password:xs374ca...

oracel如何找回被删除的数据

---此sql是查询这个时间段前的数据select * from tableName as of timestamp to_timestamp('2011-05-21 11:40:00'...

oracle创建表空间实例sql

表空间:nsxydjdba用户名:nsxydjdba      密  码:nsxydj123--创建表空间CREATE TABLE...

评论列表

上海app开发
上海app开发
10年前 (2015-03-26)

好文章,顶个

点我收录您
10年前 (2015-10-15)

很实用的教程 喜欢这种SQL语句

萨瓦迪卡 回复:
哈哈,程序员[吃惊]
10年前 (2015-10-21)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。