怎么去重在oracle中,ORACLE去重

Oracle查询去除重数据

1。用rowid方法

成都创新互联公司于2013年创立,是专业互联网技术服务公司,拥有项目成都网站设计、网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元唐县做网站,已为上家服务,为唐县各地企业和个人服务,联系电话:13518219792

据据oracle带的rowid属性,进行判断,是否存在重复,语句如下:

查数据:

select * from table1 a where rowid

!=(select max(rowid)

from table1 b where a.name1=b.name1 and

a.name2=b.name2......)

删数据:

delete from table1 a where rowid

!=(select max(rowid)

from table1 b where a.name1=b.name1 and

a.name2=b.name2......)

2.group by方法

查数据:

select count(num), max(name) from student --列出重复的记录数,并列出他的name属性

group by num

having count(num) 1 --按num分组后找出表中num列重复,即出现次数大于一次

删数据:

delete from student

group by num

having count(num) 1

这样的话就把所有重复的都删除了。

3.用distinct方法 -对于小的表比较有用

create table table_new as select distinct *

from table1 minux

truncate table table1;

insert into table1 select * from table_new;

oracle去重方法

select distinct 字段名 from 表名;

或者

select 字段名 from 表名 group by 字段名;

第二种写法,group by 中的字段名需要与select的字段名一致。

oracle中查询中单表多字段去重,怎么实现?

select t.a,t.b,t.c from

(select a,b,c from 表A group by a,b,c) t

没用到什么函数,就一个group by ,是用来去重的,

你可以把括号里的先执行,看下结果,外边就是一个从括号里再选出a,b两个字段


网页标题:怎么去重在oracle中,ORACLE去重
分享URL:http://hbruida.cn/article/hdpdhe.html