Oracle 删除重复数据只留一条

1549年前oracle数据库2860

 

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

相关文章

sql 让指定的结果集处数据集前边

 select * from CM_INCOME_CONTRACT  order by case CONTRACT_ID when  '2c94ec5a...

Oracle sql优化

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

PLSQL 11 注册码

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

Oracle常用sql语句

1.多行数据一行显示sql:(用sum函数或max函数,当lc为1时DQSYJRZC的值) sum函数只能查字段类型为number型的,若字段值是汉字则用max函数select nsrsbh , su...

oracle 函数function语法及简单实例

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

oracle 闪回

 Flashback query(闪回查询)原理  Oracle根据undo信息,利用undo数据,类似一致性读取方法,可以把表置于一个删除前的时间点(或SCN),从而将...

评论列表

上海app开发
2015-03-26 22:58:22

好文章,顶个

点我收录您
2015-10-15 11:55:38

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

萨瓦迪卡 回复:
哈哈,程序员[吃惊]
2015-10-21 14:33:40

发表评论    

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