`
zdk8105
  • 浏览: 37925 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Oracle 中去除重复数据

阅读更多
在网上查了一下,去除重复数据有两种情况:

1、部分字段重复,对于这种情况可这样做:



(1)create table 临时表 as select a.字段1,a.字段2,MAX(a.ROWID) dataid from 正式表 a GROUP BY a.字段1,a.字段2;
(2) delete from 表名 a
    where a.rowid !=
    (
    select b.dataid from 临时表 b
    where a.字段1 = b.字段1 and
    a.字段2 = b.字段2
    );

(3)commit;



我不想删除原有数据,就另建了一个表:

(1)create table 临时表 as select a.字段1,a.字段2,MAX(a.ROWID) dataid from 正式表 a GROUP BY a.字段1,a.字段2;

(2)create table 去重表名 as select  a.*  from 正式表  a, 临时表 b  where a.rowid = b.dataid;







2.对于完全重复的数据,网上说可以这样:

 (1) CREATE TABLE 临时表 AS (select distinct * from 表名);

 (2) truncate table 正式表;

 (3)   insert into 正式表 (select * from 临时表);

 (4)   drop table 临时表;

从SQL语句来看,应该是可以实现的。







更新:

对于不完全重复数据还找到了以下方法,利用ORACLE中的ROWID:

假设student表中的stunum字段中有重复数据,现在要找出哪些数据重复,并删除。



查看哪些数据重复:



select * from student where stunum in (select stunum(select stunum ,count(*) from student group by stunum having count(*) >1))  --这句太复杂,要好好想想怎么简化。



select * from student a,student b where a.stunum = b.stunum and a.rowid < b.rowid







删除重复数据:



delete from student a where a.rowid<(select max(rowid) from student b where a.stunum = b.stunum)
分享到:
评论

相关推荐

    Oracle删除表中的重复数据

    本文将详细解析如何在Oracle中删除表中的重复数据,同时确保不损害和修改原表的其他数据。 ### Oracle删除表中的重复数据方法 在Oracle中删除表中的重复数据,可以采用多种策略,但通常涉及创建一个临时表来保存...

    oracle中如何删除重复数据

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

    oracle中如何删除重复的数据

    在Oracle数据库中,删除重复数据是一项常见的数据维护任务,尤其当表设计初期未充分考虑到数据唯一性时。本文将详细探讨两种情况下的重复数据删除方法:部分字段重复和完全重复记录。 1. 部分字段重复数据的删除 ...

    ORACLE去除重复数据方法

    ### ORACLE去除重复数据方法 在数据库管理与维护过程中,数据重复问题是非常常见的现象,尤其在大型企业级应用中更是如此。重复数据不仅占用存储空间,还可能导致数据分析结果出现偏差,影响业务决策的准确性。因此...

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

    3. **测试**:在实际环境中删除重复数据前,最好在一个测试环境中先模拟一遍整个流程,以确保不会发生意料之外的问题。 总之,高效删除Oracle数据库中的重复数据不仅可以节省存储空间、提高查询效率,还可以保证...

    ORACLE删除重复数据

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

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

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

    oracle 查询重复数据

    在IT行业的数据库管理中,处理重复数据是一项常见且重要的任务,尤其在大型数据库如Oracle中。本文将深入探讨如何在Oracle数据库中查询重复数据,理解SQL语句背后的逻辑,并掌握其实现方法。 ### Oracle查询重复...

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

    ### Oracle 下删除重复数据的方法及分析 #### 一、部分字段重复数据的处理 ##### 查询重复数据 在Oracle数据库中,经常会遇到表中存在部分字段重复的情况。为了找到这些重复的记录,我们可以使用以下SQL语句: `...

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

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

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

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

    oracle查询重复数据方法

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

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

    本文将详细介绍几种在Oracle数据库中删除重复数据的有效方法。 #### 方法一:基于ID删除重复行 此方法适用于只需要考虑单一字段(如ID)的情况,通过找出具有相同ID但非最小ROWID的记录来进行删除。 **SQL语句:*...

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

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

    oracle中如何删除重复的记录

    ### Oracle中如何删除重复的记录 在Oracle数据库中,数据的完整性是非常重要的。有时,由于各种原因(如数据导入错误、系统故障等),数据库表中可能会出现重复的记录,这不仅浪费存储空间,还可能导致查询结果不...

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

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

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

    本文将详细探讨如何在Oracle中删除重复数据,仅保留一条记录。这个过程通常涉及到查询重复数据,然后选择要保留的特定记录,并删除其余的重复项。 首先,我们可以使用SQL查询来找出表中的重复记录。例如,如果我们...

    oracle删除重复记录性能分析

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

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

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

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

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

Global site tag (gtag.js) - Google Analytics