Oracle查询去除重数据

Oracle查询去除重数据,第1张

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

1、首先在计算机中,打开Oracle的连接程序,查看表中重复的数据。

2、然后使用distinct,去除函数查询出去掉重复后的数据。

3、接着创建新表,把去掉重复的数据插入到新表中。

4、然后使用truncate,清空原表中的数据。

5、最后再向原表中插入新表中重复的数据,即可达到去重复数据的效果。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9908683.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存