快上网专注成都网站设计 成都网站制作 成都网站建设
成都网站建设公司服务热线:028-86922220

网站建设知识

十年网站开发经验 + 多家企业客户 + 靠谱的建站团队

量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决

oracle中怎么滤重 Oracle数据库去重

oracle数据库的过滤问题:如何过滤两个表中相同的部分数据。比如说A表与B表都有记录

试试下面的SQL语句是否符合你的需求: --A:

网站建设哪家好,找创新互联公司!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了甘谷免费建站欢迎大家使用!

select XX_id

from tiantiantian

where sum_date=20110420

and XX_status 30

and XX_type in (1009, 1008, 1003, 1011)

and XX_date to_date(20110420, 'yyyymmdd')

and not exists(

select xx_id from dididi

where sum_date=20110420

and XX_status 30

and XX_type in (1009, 1008, 1003, 1011)

and XX_date to_date(20110420, 'yyyymmdd'));

--B:

select XX_id

from dididi

where sum_date=20110420

and XX_status 30

and XX_type in (2001)

and XX_date to_date(20110420, 'yyyymmdd')

and not exists(

select xx_id from tiantiantian

where sum_date=20110420

and XX_status 30

and XX_type in (2001)

and XX_date to_date(20110420, 'yyyymmdd'));

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查询过滤重复相同的数据。

SELECT DISTINCT TA.QA_TYPE TYPE,

TQ.TYPE_DESCRIPTION TYPEDESCRIPTION

FROM T_QA_RULE_DEFINE TA, T_QA_CHECK TQ

WHERE TA.QA_TYPE = TQ.TYPE

AND TA.QA_CHECK_TYPE = TQ.CHECK_TYPE

AND TA.VALID_FLAG = 'Y'

只取这两个字段不就行了么,是不是你想要的

oracle 要查询 多个字段 但是要过滤掉 重复的数据 sql 语句怎么写啊

加distinct,

SELECT distinct sequence_no, channel_id, base_id, product_mode,model_code,rated_voltage, spec, brand_name, show_flag, model_id

FROM table_name

where user_id=1

查出来是没有重复记录的,如果想要model_id 没有重复,还需要做别的条件的限制


网站名称:oracle中怎么滤重 Oracle数据库去重
文章源于:http://6mz.cn/article/hjsojd.html

其他资讯