在线精品99_中国九九盗摄偷拍偷看_91免费版在线观看_91.app_91高清视频在线_99热最新网站

oracle中如何删除重数据

136次阅读
没有评论

共计 2180 个字符,预计需要花费 6 分钟才能阅读完成。

今天就跟大家聊聊有关 oracle 中如何删除重数据,可能很多人都不太了解,为了让大家更加了解,丸趣 TV 小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

前期准备

创建测试表

create table salary( 

  staffid   int, 

  staff   varchar(15)  

);

模拟重复数据

insert into salary values(1, a

insert into salary values(2, s

insert into salary values(3, ert

insert into salary values(4, d

insert into salary values(5, b

insert into salary values(1, a

insert into salary values(2, s

insert into salary values(3, ert

insert into salary values(4, d

insert into salary values(5, b

insert into salary values(1, a

insert into salary values(2, s

insert into salary values(3, ert

insert into salary values(4, d

insert into salary values(5, b

insert into salary values(10, aaaa

insert into salary values(20, sass

insert into salary values(30, erwt

insert into salary values(40, dsd

insert into salary values(50, bsdf

insert into salary values(1, oookkk

实验一:模拟单个字段数据重复

select * from salary;

STAFFID STAFF

————— —————

              1 oookkk

              1 a

              2 s

              3 ert

              4 d

              5 b

              1 a

              2 s

              3 ert

              4 d

              5 b

              1 a

              2 s

              3 ert

              4 d

              5 b

             10 aaaa

             20 sass

             30 erwt

             40 dsd

             50 bsdf

21 rows selected

1. 查出重复数据

方法一

SELECT *

FROM salary a

WHERE ((SELECT COUNT(*)

          FROM salary

          WHERE staffid = a.staffid) 1)

ORDER BY staffid 

方法二

select *

  from salary

 where staffid in

(select staffid from salary group by staffid having count(staffid) 1)

删除重复数据,只保留 1 条,其余全部删除

方法一,通过 rowid 删除

delete from salary

where staffid in (select staffid from salary group by staffid  having count(staffid) 1)

and rowid not in (select min(rowid) from salary group by staffid having count(staffid) 1)

实验二:模拟两个个字段数据重复

1. 查询重复记录

方法一

select * from salary a

where (a.staffid,a.staff) in (select staffid,staff from salary group by staffid,staff having count(*) 1)

方法二

SELECT *

FROM salary a

WHERE ((SELECT COUNT(*)

          FROM salary

          WHERE staffid = a.staffid and staff=a.staff) 1)

ORDER BY staffid 

结果,共 15 条

STAFFIDSTAFF

1
     a

1
     a

1
     a

2
     s

2
     s

2
     s

3
     ert

3
     ert

3
     ert

4
     d

4
     d

4
     d

5
     b

5
     b

5
     b

2. 删除重复数据,只保留 1 条,其余全部删除

delete from vitae a

where (a.peopleId,a.seq) in   (select peopleId,seq from vitae group by peopleId,seq having count(*) 1)

and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*) 1)

3. 查看删除后结果

select * from salary;

结果

STAFFIDSTAFF

1
     oookkk

1
     a

2
     s

3
     ert

4
     d

5
     b

10
   aaaa

20
   sass

30
   erwt

40
   dsd

50
   bsdf

看完上述内容,你们对 oracle 中如何删除重数据有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注丸趣 TV 行业资讯频道,感谢大家的支持。

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-04发表,共计2180字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)
主站蜘蛛池模板: 欧美成人免费香蕉 | 久久综合狠狠综合久久 | 黄色一级片免费观看 | 另类重口videos人妖 | 色一乱一伦一图一区二区精品 | 久久天堂夜夜一本婷婷麻豆 | 欧美精品videossex少妇 | 午夜性爽视频男人的天堂在线 | 国产福利写真视频在线观看 | 丰满熟女人妻中文字幕免费 | 一级毛片特级毛片黄毛片 | 亚洲毛片在线观看 | 免费人成网站在线观看欧美 | 99热久久久这里只有精品免费 | 国产免费一级精品视频 | 91九色视频无限观看免费 | 精品一区二区三区视频日产 | 精品区 | 国产一级毛片网站 | 欧美日本高清一本二本三本 | 特级毛片在线大全免费播放 | 国产精品男人的天堂 | a一级视频| 美女内射毛片在线看免费人动物 | 又黄又爽又无遮挡免费的网站 | 男男羞羞视频网站国产 | 大陆免费三片在线观看 | 久久久久久国产精品视频 | 2020韩国三级理论在线观看 | 日日av色欲香天天综合网 | 国产亚洲欧美在线视频 | 久久久不卡国产精品一区二区 | 亚洲精品无码永久中文字幕 | 色一乱一伦一图一区二区精品 | 成人高清毛片a | 国产国语特级一级aa毛片 | 中文字幕不卡在线高清 | 爱爱爱的视频在线观看网站 | 亚洲男人在线 | 日本久久久久久 | 99久久久无码国产aaa精品 |