`
hongwei3344661
  • 浏览: 31872 次
  • 性别: Icon_minigender_1
文章分类
社区版块
存档分类
最新评论

rowid去重复数据

 
阅读更多

⑴ 通过创建临时表 

可以把数据先导入到一个临时表中,然后删除原表的数据,再把数据导回原表,SQL语句如下: 

SQL>create table stu_tmp as select distinct* from stu; SQL>truncate table sut;        

//清空表记录 

SQL>insert into stu select * from stu_tmp;    //将临时表中的数据添加回原表  

这种方法可以实现需求,但是很明显,对于一个千万级记录的表,这种方法很慢,在生产系统中,这会给系统带来很大的开销,不可行。  

⑵ 利用rowid结合max或min函数 

使用rowid快速唯一确定重复行结合max或min函数来实现删除重复行。 

SQL>delete from stu a where rowid not in (select max(b.rowid) from stu b where a.no=b.no and a.name = b.name and a.sex = b.sex);      //这里max使用min也可以 或者用下面的语句 

SQL>delete from stu a where rowid < (select max(b.rowid) from stu b where a.no=b.no and a.name = b.name and a.sex = b.sex); //这里如果把max换成min的话,前面的where子句中需要把"<"改为">" 

 

跟上面的方法思路基本是一样的,不过使用了group by,减少了显性的比较条件,提高效率。 

SQL>delete from stu where rowid not in (select max(rowid) from stu t group by t.no, t.name, t.sex );

分享到:
评论

相关推荐

    Oracle中用Rowid查找和删除表中的重复记录

    ### Oracle中用Rowid查找和删除表中的重复记录 在Oracle数据库管理中,处理重复记录是一项常见的需求,尤其是在数据量较大的情况下。本文将详细介绍如何利用Rowid这一特性来有效地查找和删除表中的重复记录。 ####...

    删除表中重复数据sql语句

    ### 删除表中重复数据SQL语句详解 #### 一、基础知识概述 在数据库管理中,重复数据是一个常见的问题,尤其当数据库经历长时间的数据输入时,可能会出现数据录入错误或者批量导入过程中导致的数据冗余。重复数据的...

    ORACLE删除重复数据

    ORACLE 删除重复数据 在 ORACLE 数据库中,删除重复数据是一项常见的操作。重复数据的存在可能会导致数据不一致、查询效率下降等问题。今天,我们将介绍三种删除重复数据的方法,并对每种方法的执行时间进行比较。 ...

    oracle中如何删除重复数据

    在Oracle数据库中,删除重复数据是一项常见的数据清洗任务,尤其当表设计不当时,重复数据可能导致数据不一致和分析错误。以下将详细解释如何在Oracle中处理这两种类型的重复数据问题:部分字段重复和完全重复记录。...

    如何高效删除Oracle数据库中的重复数据

    ### 如何高效删除Oracle数据库中的重复数据 在Oracle数据库管理中,经常会出现因各种原因导致的数据重复问题。这些重复数据不仅占用存储空间、降低查询效率,还可能导致数据分析时出现错误的结果。因此,学会如何...

    oracle删除重复数据的几种方法

    oracle 删除重复数据的几种方法 在 Oracle 中,删除重复的数据是一种常见的操作。delete 操作可以用来删除重复的数据,但是需要根据实际情况选择合适的方法。下面将介绍四种删除重复数据的方法,每种方法都有其优...

    数据库 查询删除重复数据

    "数据库查询删除重复数据" 数据库查询删除重复数据是数据库管理中的一项重要操作,旨在查找和删除表中的重复记录。重复记录是根据单个字段或多个字段来判断的。下面介绍几种查找和删除重复记录的方法。 根据单个...

    Oracle查询重复数据并删除,只保留一条记录.docx

    Oracle 查询重复数据并删除,只保留一条记录 Oracle 是一种关系型数据库管理系统,广泛应用于企业级数据库管理。然而,在实际应用中,数据重复问题经常会出现,例如在资源目录在线编目的资源项子表中存在多条重发...

    sql去掉重复的数据 完全相同的数据去掉重复 及优化

    这些重复数据的存在不仅会占用不必要的存储空间,还可能导致数据分析结果失真。因此,了解并掌握如何有效地删除这些重复记录是非常必要的。 #### 二、SQL去重的基本方法 ##### 2.1 使用`DISTINCT` 最简单的方式是...

    oracle查询重复数据方法

    Oracle 查询重复数据方法 Oracle 查询重复数据方法是数据库管理中非常重要的一个问题, Oracle 数据库提供了多种方法来查询和删除重复数据。下面我们将详细介绍几种常见的方法。 方法一:使用 Having 子句 第一种...

    oracle中如何删除重复的数据

    若想保留重复数据中最新的一条(即ROWID最大的一条),可使用如下查询: ```sql DELETE FROM 表名 a WHERE a.rowid != ( SELECT MAX(b.rowid) FROM 表名 b WHERE a.字段1 = b.字段1 AND a.字段2 = b.字段2 );...

    sql 查询重复数据

    SQL 查询重复数据 在数据库中,查询和处理重复数据是一项常见的任务。本文将详细介绍查询和处理重复数据的方法,包括查找所有重复记录、查找重复记录、删除重复记录等。 查找所有重复记录 使用以下 SQL 语句可以...

    oracle下如何删除重复数据的几种方法

    ### Oracle 下删除重复数据...此外,在处理重复数据时,还应考虑到保留最新或最旧记录的需求,利用`ROWID`等特性可以轻松实现这一点。总之,合理地选择和应用这些方法,可以帮助我们更高效地管理Oracle数据库中的数据。

    plsql删除重复记录

    特别是在大型企业级应用中,由于各种原因(如数据导入错误、系统故障等),数据库表中可能会出现大量的重复记录,这对数据的准确性和系统的性能都会产生负面影响。因此,掌握如何有效地识别并删除这些重复记录显得尤...

    删除重复数据的一种高效的方法(oracle)

    在Oracle数据库管理中,删除重复数据是一个常见的需求,特别是在数据清洗和优化数据库性能时。本文将探讨三种不同的方法来高效地删除`demo`表中的重复数据,并分析它们的执行时间和适用场景。 方法一: 该方法基于...

    oracle数据库各种删除重复数据方法

    ### Oracle数据库删除重复数据的方法 在Oracle数据库管理中,处理重复数据是一项常见且重要的任务。重复数据不仅会占用额外的存储空间,还可能导致数据分析时出现偏差。因此,掌握如何有效地识别并删除这些重复记录...

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

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

    基本的去重复sql语句

    查询去重复数据的方法可以帮助我们了解哪些数据存在重复现象,而删除重复数据的方法则可以直接清理这些冗余数据,保持数据库的整洁性。需要注意的是,在执行删除操作之前,最好先备份数据或进行测试,以免误删重要...

    oracle删除重复数据的sql语句

    根据给定文件中的标题、描述、标签以及...综上所述,通过ROWID、GROUP BY和DISTINCT等多种方式,可以灵活有效地处理Oracle数据库中的重复数据问题。在实际应用中,可以根据具体需求选择合适的方法来优化数据库性能。

    查询和删除表中重复数据

    ### 知识点一:查询表中的重复数据 在数据库管理中,经常会遇到需要查找表中重复数据的情况。这可以通过多种方式实现,具体方法取决于所使用的数据库管理系统(DBMS)。在本案例中,主要介绍了通过以下几种方法来...

Global site tag (gtag.js) - Google Analytics