`
每一天都有收获
  • 浏览: 2445 次
  • 性别: Icon_minigender_1
  • 来自: 河北
社区版块
存档分类
最新评论

实现重复数据删除SQL

阅读更多

》》情景:库表中有多条重复数据,请用SQL实现删除一条保留一条。

--创建表SQL
create table TEMP (
ID number,--主键
name varchar2(50),
insert_date date
);

》》实现方式:

--查询出所有有重复的数据SQL
select ID,name,count(ID)
from TEMP
group by name,ID
having count(ID)>1
order by ID ;

主键不重复

--删除重复的数据,保留最小ID值的SQL
delete from TEMP where ID not in (
select min(ID)
from TEMP
group by name
);
--扩展
delete from TEMP where name in
( select name from TEMP GROUP BY name having count(name) > 1)
and ID not in (
select min(ID)
from TEMP
groupby name
);

主键也重复

--删除重复的数据,保留最小ID值的SQL
delete from TEMP where name in(
selecct name from temp group by name having count(name) > 1
) and rowid not in (
select min(rowid)
from TEMP
group by name
having count(name) > 1
);


补充:ROWID:数据库中行的全局唯一地址,通常来说,一个rowid值唯一标识数据中的一行.

 

分享到:
评论

相关推荐

    删除表中重复数据sql语句

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

    sqlServer删除重复数据

    SQL Server 删除重复数据 SQL Server 删除重复数据是数据库管理中的一项重要任务。重复数据可能是完全重复的记录,也可能是部分关键字段重复的记录。删除重复数据可以使用多种方法,包括使用 SELECT DISTINCT 语句...

    查询重复数据sql语句

    本文将详细介绍如何使用SQL语句来查询表中的重复数据,并基于提供的SQL示例进行深入分析。 ### SQL查询重复数据的核心概念 在开始之前,我们需要了解几个关键的概念: 1. **重复数据**:指的是在数据表中存在多条...

    sql+如何去重复数据,数据库去重复数据

    SQL作为一种广泛使用的数据库语言,提供了多种方法来处理重复数据问题。根据提供的标题、描述、标签以及部分内容,我们可以深入探讨如何使用SQL有效地去除重复数据。 ### SQL去除重复数据的方法 #### 1. 使用`...

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

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

    oracle删除重复数据的sql语句

    根据给定文件中的标题、描述、标签以及部分内容,本文将详细介绍在Oracle数据库中删除重复数据的几种方法。这些方法利用了ROWID、GROUP BY、DISTINCT等关键字来实现数据去重的功能。 ### 1. 使用ROWID进行去重 ...

    sql 查询重复数据

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

    查询和删除表中重复数据sql语句

    标题和描述概述的知识点主要集中在SQL语言中处理表内重复数据的方法上,涵盖了查询与删除重复数据的不同场景。下面将详细解析这些知识点: ### 查询表中重复数据 #### 单字段重复数据查询 ```sql SELECT * FROM ...

    SQL Server删除重复数据的几个方法

    ### SQL Server删除重复数据的方法 在数据库管理过程中,经常会...以上三种方法各有优缺点,可以根据实际情况选择最适合的方法来删除SQL Server中的重复数据。需要注意的是,在操作前最好备份数据以防意外情况发生。

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

    使用Oracle查询并删除重复记录的SQL语句 在实际应用中,删除重复记录是非常常见的操作,特别是在数据...删除重复记录是非常重要的数据清洁步骤,Oracle数据库提供了多种方式来实现该操作,本文只是其中的一些方法。

    SQL删除重复行

    在SQL中,处理重复数据是一项常见的任务,尤其是在数据清洗和数据整理的过程中。本文将详细讨论如何使用SQL语句来删除重复行,分为基于单个字段和多个字段的情况,并提供两种不同的方法。 首先,我们来看基于单个...

    SQL语句删除重复记录

    SQL语句删除重复记录 在数据库管理中,删除重复记录是一个非常重要的操作。重复记录可能来自于数据导入、系统错误或者其他原因。今天,我们将探讨如何使用 SQL 语句删除重复记录。下面将介绍四种不同的方法来删除...

    如何删除表中重复数据

    ### 如何删除表中重复数据 在数据库管理与维护的过程中,经常会遇到表中存在重复记录的问题,这不仅会造成数据冗余、浪费存储空间,还可能导致数据分析结果失真。因此,了解如何有效地删除表中的重复数据是一项重要...

    基于重复数据删除技术的SQL Server数据库备份系统.pdf

    实现基于重复数据删除的SQL Server备份,可以借助于SQL Server本身的功能,如压缩备份,也可以利用第三方工具。SQL Server的压缩备份虽然不直接执行数据去重,但可以通过压缩数据来减小备份文件的大小。而第三方工具...

    Oracle删除表中的重复数据

    重复数据的存在不仅会占用额外的存储空间,还可能导致数据统计错误、数据分析偏差等问题,因此,有效地删除表中的重复数据是保持数据质量和提高数据库性能的重要环节。本文将详细解析如何在Oracle中删除表中的重复...

    SQL删除表里的重复数据的两种方法

    以上介绍了两种删除SQL表中重复记录的方法:一种是通过子查询直接删除重复项;另一种是通过创建临时表的方式,先将唯一记录保存到临时表中,然后重建原始表。选择哪种方法取决于具体情况,如表的大小、表结构复杂度...

    SQL删除重复记录的方法

    此方法创建一个存储过程`up_distinct`来处理重复数据。 1. 创建测试表和插入重复数据。 ```sql create table a_dist(id int, name varchar(20)) insert into a_dist values(1,'abc') ... ``` 2. 执行存储过程...

    SQL删除重复列

    通过上述介绍,我们可以看到,删除SQL表中的重复记录有多种方法,每种方法都有其适用场景。在实际应用中,应根据具体情况选择最合适的方法。无论是使用临时表法、子查询法还是窗口函数ROW_NUMBER(),都能有效地帮助...

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

    本文详细介绍了如何使用SQL去除表中的重复数据,并提供了一些性能优化的建议。通过这些方法和技术的应用,可以有效地提高数据质量和数据库系统的整体性能。希望这些知识能够帮助你在实际工作中更加高效地处理数据...

    sql查询重复记录方法大全

    ### SQL查询重复记录方法大全 在数据库管理与维护过程中,查询和处理重复记录是一项非常重要的工作。本文将详细介绍几种常见的SQL查询重复记录的方法,并提供具体的示例代码。 #### 方法一:查询具有重复值的记录...

Global site tag (gtag.js) - Google Analytics