网站首页 > 数据库 / 正文
记录一次Oracle数据去重操作;
背景,由于某业务表数据来源比较复杂,数据量大,并且不定时推送,所以建表时没有主键,无法进行数据过滤,造成表中数据重复较多;
因此,要对该表进行数据去重,操作如下:
--根据字段a,b group by 查到去重后的所有数据的rowID,
再根据rowID去查到去重后的结果集,
然后可以直接删除(not in)或者保守处理(创建新表,把去重后的数据存进去,再改表名即可)
select * from tableName s where s.rowid in (
select min(rowid) from tableName t group by t.a,t.b )
--CREATE TABLE 临时表 AS ()
(如果创建临时表,那么现在临时表中的数据就是去重后的数据了,只需要改下表名即可。)
--狠一点的,直接 not in (),在原表中删除重复数据即可,快的一批,就是不太稳!
如此即可,简单方便!
Tags:oracle 删除 表
- 上一篇:查询表修改记录
- 下一篇:清理Oracle数据库归档日志脚本
猜你喜欢
- 2024-11-26 Oracle常用语句
- 2024-11-26 误删除MySQL数据库表的ibd文件怎么办
- 2024-11-26 查询所有用户的表,ORACLE下有三个视图
- 2024-11-26 MySQL删除重复行
- 2024-11-26 Oracle语法-如何建立服务器监听及数据导入导出
- 2024-11-26 oracle数据库知识点汇总(上)
- 2024-11-26 「数据库数据恢复」Oracle数据库如何恢复truncate表的数据
- 2024-11-26 oracle表空间数据文件迁移
- 2024-11-26 oracle删错数据了,要跑路吗,等一下,先抢救一下
- 2024-11-26 超详细的四类数据库去重实现方案汇总,值得收藏