我的编程空间,编程开发者的网络收藏夹
学习永远不晚

oacle 删除重复数据

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

oacle 删除重复数据

--测试数据

create table test as select * from dba_objects;

insert into test select * from test;

--查看是否有重复数据

select * from test order by object_id;

--用rowid删除

select rowid,a.* from test a order by object_id;

--根据rowid分组

--办法(1)not in

DELETE FROM test WHERE ROWID NOT IN (SELECT MAX(ROWID) FROM test GROUP BY object_id)

--办法(2) in

DELETE FROM test a

 WHERE ROWID IN (SELECT ROWID

                   FROM (SELECT row_number() over(PARTITION BY object_id ORDER BY ROWID) rn,

                                a.*

                           FROM test a)

                  WHERE rn > 1)


--办法3 exists

DELETE FROM test a

 WHERE EXISTS (SELECT NULL

          FROM test b

         WHERE a.object_id = b.object_id

           AND a.rowid < b.rowid)

--in的等价写法

DELETE FROM test a

 WHERE object_id IN (SELECT object_id

                       FROM test b

                      WHERE a.object_id = b.object_id

                        AND a.rowid < b.rowid)


--如果要保留3条重复数据

DELETE FROM test a

 WHERE ROWID IN (SELECT ROWID

                   FROM (SELECT row_number() over(PARTITION BY object_id ORDER BY ROWID) rn,

                                a.*

                           FROM test a)

                  WHERE rn > 3)

                  


免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

oacle 删除重复数据

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Android List删除重复数据

1、通过循环进行删除public static void removeDuplicate(List list) { for ( int i = 0 ; i < list.size() - 1 ; i ++ ) { for ( int j =
2023-05-31

plsql如何删除重复数据

在PL/SQL中删除重复数据可以通过以下步骤实现:创建一个临时表来存储唯一的数据使用INSERT INTO SELECT DISTINCT语句将唯一的数据插入到临时表中使用DELETE语句删除原始表中的所有数据使用INSERT INT
plsql如何删除重复数据
2024-04-15

oracle怎么删除重复数据

oracle 提供了三种删除重复数据的方法:使用 delete 语句根据指定列分组,保留每组中 rowid 最小的行。使用 merge 语句根据指定列分组,使用 merge 语句匹配源表和目标表中的行,并删除重复行。使用 distinct
oracle怎么删除重复数据
2024-05-21

mongodb怎么删除重复数据

在MongoDB中删除重复数据可以使用聚合管道和$group操作符来实现。以下是一种常见的方法:1. 使用聚合管道和$group操作符找到重复数据:javascriptdb.collection.aggregate([{$group: {_
2023-10-20

SQL怎么删除重复数据

这篇文章主要介绍“SQL怎么删除重复数据”,在日常操作中,相信很多人在SQL怎么删除重复数据问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQL怎么删除重复数据”的疑惑有所帮助!接下来,请跟着小编一起来学习吧
2023-07-02

mysql中怎么删除重复数据

在MySQL中,可以使用以下两种方法来删除重复数据:方法1:使用DISTINCT关键字和INSERT INTO SELECT语句CREATE TABLE new_table ASSELECT DISTINCT * FROM old_t
mysql中怎么删除重复数据
2024-04-09

oracle如何删除重复的数据

在Oracle数据库中,要删除重复的数据,可以使用以下方法:使用ROWID和ROWNUM:DELETE FROM table_nameWHERE ROWID NOT IN(SELECT MAX(ROWID) FROM table_na
oracle如何删除重复的数据
2024-04-09

怎么删除mysql重复数据库

如何删除 mysql 重复数据库查找重复数据库(使用 show databases 命令)。连接到要删除的数据库(使用 use database 命令)。删除数据库中所有表(使用 drop table 命令)。删除重复数据库(使用 drop
怎么删除mysql重复数据库
2024-08-05

mysql数据库怎么删除重复

在 MySQL 数据库中删除重复项的方法有:SELECT DISTINCT column1, column2, ...FROM table_name;SELECT column1, column2, ...FROM table_nameGR
mysql数据库怎么删除重复
2024-08-05

SQL中删除重复数据问题

我们数据库中最后要保留的结果就是第二步中查询出来的数据,我们把其他的数据删除即可。怎么删除呢?我们使用ID来排除。
SQL数据重复2024-12-02

编程热搜

目录