Oracle 删除重复数据只留一条

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

 

查询及删除重复记录的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%',改为自然数,并避免与已有的岗位代码重复。

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

分享给朋友:

相关文章

rownum 与order by 的执行顺序及按rownum 排序

rownum 与order by 的执行顺序及按rownum 排序

  如果select语句(非嵌套查询形式的)有order by子句,则order by子句一般都是最后一步执行的。但是如果order by子句里的字段被设置了主键约束或是被设置索引了,那么o...

PLSQL 11 注册码

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

oracle 函数function语法及简单实例

函数调用限制1、SQL语句中只能调用存储函数(服务器端),而不能调用客户端的函数2、SQL只能调用带有输入参数,不能带有输出,输入输出函数3、SQL不能使用PL/SQL的特有数据类型(boolean,...

oracle创建表空间实例sql

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

PLSQL Developer 13 官方下载地址连接 及 注册码

PLSQL Developer 官方下载地址连接https://www.allroundautomations.com/registered/plsqldev.htmlPLSQL Developer...

评论列表

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

好文章,顶个

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

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

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

发表评论

访客

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