`
zhangyou1010
  • 浏览: 303386 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

oracle sql 删除重复记录

阅读更多
oracle中删除重复记录,有好几种方法。

第一种:把原来表中的数据都转存到一个临时表中,用distinct查询出要存到临时表去的数据。
create table temp_table as select distinct * from table 

不过这种方法只适用于表中每一列都相同的情况。

第二种:利用oracle中rowid唯一的特性。比如tableA有id,name,age三列。要删除表中name,age重复的数据时,则第一种方法就不适用了。

delete from tableA t1
 where t1.rowid not in
       (select max(rowid) from tableA t2 group by t2.name, t2.age)



第三种:


delete from tableA
 where rowid in (select row_id
                   from (select rowid row_id,tableA.*,
                                row_number() over(partition by name, age order by rowid) rn
                           from tableA )  where rn <>1)



第三种和第一种差不多。
分享到:
评论

相关推荐

    oracle中如何删除重复的记录

    要删除Oracle数据库表中的重复记录,有几种方法可以采用: ##### 方法一:使用子查询与DELETE语句 这种方法适用于只需要删除重复记录中的某些行的情况。步骤如下: 1. **找出重复的记录**:首先,我们需要找到...

    使用Oracle查询并删除重复记录的SQL语句

    使用Oracle查询并删除重复记录的SQL语句 在实际应用中,删除重复记录是非常常见的操作,特别是在数据导入、数据整合和数据清洁等场景中。Oracle数据库提供了多种方式来查询和删除重复记录,本文将详细介绍这些方法...

    wxh Oracle数据库删除重复记录的方法

    根据给定的文件标题、描述和部分内容,我们可以深入探讨Oracle数据库中删除重复记录的方法,这对于维护数据完整性和提高系统性能至关重要。以下将详细介绍几种在Oracle数据库中有效删除重复记录的技术。 ### 1. ...

    查询及删除重复记录的SQL语句.

    以下是一些常用的 SQL 技巧,用于处理重复记录的问题。 1. **查询重复记录**: 当我们想找出基于单一字段(如 `Id`)的重复记录时,可以使用如下的 SQL 语句: ```sql select * from 表 where Id in (select Id ...

    OracleSQL实例-删除重复数据行留最新日期实例.pdf

    在Oracle SQL中,删除重复数据并保留最新日期的实例是一个常见的数据清理任务,尤其是在具有历史记录或事务数据的数据库中。这个实例展示了如何通过SQL查询有效地处理这种情况。在这个例子中,我们有一个名为`abc`的...

    oracle删除重复记录性能分析

    ### Oracle删除重复记录性能分析 #### 一、背景与需求 在数据库管理中,经常会遇到数据清理的需求,尤其是在Oracle数据库中处理重复记录时。本文旨在通过对比几种不同的方法来删除Oracle中的重复记录,并分析其...

    Oracle查询重复数据与删除重复记录方法(txt)

    ### Oracle查询重复数据与删除重复记录方法 在Oracle数据库中,有时我们需要找出并处理重复的数据。这不仅可以提高数据质量,还能提升查询效率。本文将详细介绍几种常用的查询和删除Oracle数据库中重复记录的方法。...

    删除数据表中重复记录

    #### SQL删除重复记录的基本思路 删除重复记录的核心思想是先识别出哪些记录是重复的,然后通过某种方式将这些重复记录从数据表中移除。通常的做法包括: 1. **识别重复记录**:通过`GROUP BY`和`HAVING`子句找出...

    ORACLE_SQLDeveloper使用教程

    ### Oracle SQL Developer 使用教程 #### 一、Oracle Database Home Page 的使用 在开始介绍 Oracle SQL Developer 的使用之前,我们先来看看如何使用 Oracle Database Home Page。这部分内容非常重要,因为它是...

    oracle SQL优化技巧

    最高效的删除重复记录方法(因为使用了 ROWID)。例子:DELETE FROM EMP E WHERE E.ROWID &gt; (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO); 9. 用 TRUNCATE 替代 DELETE 当删除表中的记录时,在...

    oracle删除重复记录

    本文将详细介绍如何在Oracle数据库中有效地删除表内的重复记录。 ### 一、理解重复记录 在数据库中,重复记录是指具有相同字段值的一组记录。例如,在一个员工表中,如果有多个记录拥有相同的姓名、职位等信息,则...

    介绍OracleSQL和PLSQL

    Oracle SQL和PL/SQL是两种在Oracle数据库管理系统中广泛使用的编程语言,它们在数据库管理和开发领域扮演着核心角色。Oracle SQL是SQL标准的一个实现,主要用于查询、操作和管理Oracle数据库中的数据,而PL/SQL是一...

    解决Oracle删除重复数据只留一条的方法详解

    查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 group by Id having count(Id) &gt; 1)2、删除表中多余的重复记录,...

    Oracle数据库删除表中重复记录的方法三则.txt

    ### Oracle数据库删除表中重复记录的方法 在Oracle数据库管理中,经常会遇到需要处理表中的重复数据的情况。重复数据不仅会占用不必要的存储空间,还可能导致数据统计错误或业务逻辑混乱等问题。因此,掌握如何有效...

    ORACLE SQL官方教程

    在Oracle SQL中,我们学习如何创建、更新、查询和删除数据。基础操作包括: - `CREATE TABLE`:定义新表结构。 - `INSERT INTO`:向表中添加数据。 - `SELECT`:从表中检索数据,支持各种条件过滤和聚合函数。 -...

    plsql删除重复记录

    ### PL/SQL删除Oracle数据库中的重复记录方法详解 在日常的数据库管理与维护工作中,我们经常会遇到需要处理数据表中的重复记录的情况。特别是在大型企业级应用中,由于各种原因(如数据导入错误、系统故障等),...

    oracle删除重复数据的sql语句

    DISTINCT关键字可以用来去除查询结果中的重复记录。 #### 创建无重复的新表 ```sql CREATE TABLE table_new AS SELECT DISTINCT * FROM table1 minux TRUNCATE TABLE table1; INSERT INTO table1 SELECT * FROM ...

    Oracle Sql 性能优化

    Oracle Sql性能优化 解宝喆 1、选择最有效率的表名...最高效的删除重复记录方法 ( 因为使用了ROWID)例子: DELETE FROM EMP E WHERE E.ROWID &gt; (SELECT MIN(X.ROWID) FROM EMP X WHERE X.EMP_NO = E.EMP_NO); ....

    Oracle SQL必备参考.pdf 高清下载

    尽管给定的部分内容主要涉及的是一个重复的Java学习社区链接,并未直接提供关于Oracle SQL的具体信息,但从标题和描述“Oracle SQL必备参考.pdf 高清下载”中,我们可以推断出文档可能涵盖的关键知识点与Oracle SQL...

Global site tag (gtag.js) - Google Analytics