欢迎投稿

今日深度:

删除重复数据,重复数据

删除重复数据,重复数据


delete from cbe_subscriber a
  where rowid !=(select max(rowid) 
            from cbe_subscriber b
          where a.SUBSCRIBERKEY=b.SUBSCRIBERKEY
                  and a.APPLYTIME=b.APPLYTIME);

ORACLE 删除重复数据

我的已经试过了,【行】。
删除相同行(除主键外,其它属性值相同的行),举个例子给你看看吧。
delete from dept a where a.deptno<>
(
select min(deptno) from dept t group by(dname,loc)
having count(*)>1 and a.dname=t.dname and a.loc=t.loc
);
其中,dept的主键是deptno,针对(dname,loc)这两个属性值相同的行,把重复的删除,留下deptno值最小的那一行。
---------------------------------------
你的表主键是user_id吧,重复的属性值是(company_id,fee_date,insure_id)吧,
你的可以改成以下:
delete from t_insure_feed a where a.user_id<>
(
select min(user_id) from t_insure_feed t group by(company_id,fee_date,insure_id)
having count(*)>1 and a.company_id=t.company_id and a.fee_date=t.fee_date and a.insure_id=t.insure_id
);

========================
你建的表没有主键?也许你的表没。直接试一下第3条吧。不给我红旗就不跟你玩了。

3.可以新创建一张表,该表装载没有重复的行
create table mytemp as
select user_id,company_id,fee_date,insure_id /*列出所有的列*/ from t_insure_feed group by(user_id,company_id,fee_date,insure_id /*列出所有的列*/);

查询:select * from mytemp;

======================
1.查询重复(usr_id)的行:
select user_id from t_insure_feed group by user_id having count(*)>1;
2.全部删除重复的行!(一个都不剩下)
delete from t_insure_feed where user_id in (select user_id from t_insure_feed group by user_id having count(*)>1);
提示:用rollback可以恢复。
 

怎使用excel 删除重复的数据?

不知你用的是OFFICES2007以上的版本吗?如果是的话,选中全部单元格—使用条件格式—突出显示单元格规则—重复值—设置为:这边选择自定义—填充—选择一种颜色,然后确定,这时候有重复的选项就会被填充成你设置的颜色。接着使用EXCEL的数据—筛选,如果是2007版本的话,在筛选的下拉选项中会看到一个“按颜色筛选”的选项,就选择你刚才填充的颜色,然后,筛选完,就可以删除了。
 

www.htsjk.Com true http://www.htsjk.com/shujukunews/4009.html NewsArticle 删除重复数据,重复数据 delete from cbe_subscriber a where rowid !=(select max(rowid) from cbe_subscriber b where a.SUBSCRIBERKEY=b.SUBSCRIBERKEY and a.APPLYTIME=b.APPLYTIME); ORACLE 删除重复数据 我的已经试过了,【行...
评论暂时关闭