MySQL, Oracle, Linux, 软件架构及大数据技术知识分享平台

网站首页 > 数据库 / 正文

Oracle 数据去重操作记录

2024-11-26 17:14 huorong 数据库 7 ℃ 0 评论

记录一次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 删除 表

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言