Oracle数据库重复的数据一般有两种去重方法,第一段:完全重复数据去重;第二段:部分字段数据重复去重.
第一段:完全重复数据去重方法
对于表中完全重复数据去重,可以采用以下SQL语句.
Code
CREATETABLE"#temp"AS (SELECTDISTINCT * FROM 表名);--创建临时表,并把DISTINCT 去重后的数据插入到临时表中
truncateTABLE 表名;--清空原表数据
INSERTINTO 表名(SELECT * FROM"#temp");--将临时表数据插入到原表中
DROPTABLE"#temp";--删除临时表
具体思路是,首先创建一个临时表,然后将DISTINCT之后的表数据插入到这个临时表中;然后清空原表数据;再讲临时表中的数据插入到原表中;最后删除临时表.
第二段:部分数据去重方法
首先查找重复数据
将上面的号改为=号就可以查询出没有重复的数据了.
想要删除这些重复的数据,可以使用下面语句进行删除:
oracle产品服务
甲骨文公司产品主要有以下几类:
甲骨文股份有限公司
①服务器及工具
应用服务器:Oracle Application Server.
开发工具:OracleJDeveloper,Oracle Designer,Oracle Developer,等等.
Oracle WDP 全称为Oracle Workforce Development Program,是Oracle (甲骨文)公司专门面向学生、个人、在职人员等群体开设的职业发展力课程.Oracle的技术广泛应用于各行各业,其中电信、电力、金融、政府及大量制造业都需要Oracle技术人才,Oracle公司针对职业教育市场在全球推广的项目,其以低廉的成本给这部分人群提供Oracle技术培训,经过系统化的实训,让这部分人群能够迅速掌握Oracle最新的核心技术,并能胜任企业大型数据库管理、维护、开发工作.
①用rowid方法
据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:
查数据:
select * from table1 a where rowid
!=(select max(rowid)
from table1 b where a.name1=b.name1 and
删数据:
delete from table1 a where rowid
select count(num), max(name) from student --列出重复的记录数,并列出他的name属性
group by num
having count(num) 1 --按num分组后找出表中num列重复,即出现次数大于一次
delete from student
having count(num) 1
这样的话就把所有重复的都删除了.
create table table_new as select distinct *
from table1 minux
truncate table table1;
insert into table1 select * from table_new;
以上就是土嘎嘎小编为大家整理的oracle如何排重相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!