Oracle如何删除重复数据保留第一条记录

oracle删除重复数据保留第一条记录

1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断

  1. select * from where Id in (select Id from group byId having count(Id) > 1)

2、删除表中多余的重复记录,重复记录是根据单个字段(Id)来判断,只留有rowid最小的记录

  1. 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、查找表中多余的重复记录(多个字段)

  1. select * from a where (a.Id,a.seq) in(select Id,seq from group by Id,seq having count(*) > 1)

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录

  1. 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最小的记录

  1. 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)

免责声明:
1.本站所有内容只做学习和交流使用。 版权归原作者所有。
2.保证站内提供的所有可下载源码资源(软件等)都是按“原样”提供,本站未做过任何改动;但本网站不保证本站提供的下载资源的准确性、安全性和完整性;同时本网站也不承担用户因使用这些下载资源对自己和他人造成任何形式的损失或伤害。
3.本站部分内容均收集于网络!如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。请联系站长邮箱:admin#ibian.online(#换成@)处理!
数据库

ORACLE恢复删除表或表记录

2025-2-21 10:28:35

数据库

Oracle创建表空间

2025-2-21 10:34:29

0 条回复 A文章作者 M管理员
欢迎您,新朋友,感谢参与互动!
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
私信列表
搜索