oracle怎么写去重 oracle的去重函数

Oracle如何去重?

select distinct clom_name from table_name --利用distinct对列clom_name去重

10余年的贺州网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。营销型网站的优势是能够根据用户设备显示端的尺寸不同,自动调整贺州建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。成都创新互联从事“贺州网站设计”,“贺州网站推广”以来,每个客户项目都认真落实执行。

select clom_name from table_name a

where rowid =(select max(b.rowid) from table_name b where a.clom_name=b.clom_name);

--利用rowid唯一标识的特性对列clom_name 去重

Oracle里的查询去重语句是怎么写得,求解,最好是有个范例。

给你举个例子:

比如a表有这样几条数据

id name

1 5

2 4

3 5

4 3

那么你要查询名字不同的 语句应该是

select distinc(a.name) from a

那么查询到的结果应该是 name 5 4 3

但是实际情况并不仅仅是这么简单

比如我想查询name 不重复的所有数据

你就应该用到 group by 分组

select distinct(a.name),a.id from a group by a.name

distinct 必须放在开头 而且在查询多个字段的时候需要跟上 group by 这样才能得到你想要的结果

Oracle查询去除重数据

1。用rowid方法

据据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去重语句怎么写?

1 a

1 b

1 c

如上三行记录,你想要查询的结果是什么?


标题名称:oracle怎么写去重 oracle的去重函数
分享路径:http://myzitong.com/article/hjpgep.html