`

sql经典的删除表中重复数据

 
阅读更多

sql语句:

                delete  from 表名 t1 where rowid != (select min(rowid) from 表名 t2 where t1.字段= t2.字段);

          or:

                 delete  from 表名 t1 where rowid != (select max(rowid) from 表名 t2 where t1.字段= t2.字段);

 

说明:

         在oracle中,rowid是虚列,rowid是物理地址,用于定位oracle中具体数据的物理存储位置。通俗的讲:rowid是相对不变的。

疑问:

对于小括号中的sql语句(select min(rowid) from 表名 t2 where t1.字段= t2.字段),尽管能够读懂,明白根据where条件查询出来的min(rowid)有多个结果。但是对于它的执行过程时存在疑问的!

疑问解答:

                 where后面的条件是每走一行数据就执行一次的,所以能存在多个min(rowid)或者多个max(rowid),where t1.字段=t2.字段是一个动态的赋值的过程。

第二种方式:

 

delete from 表名 t1 where rowid not in (select min(rowid) from 表名 t group by t.uname);

 

用这种也可以删除成功!也更好理解一些,不过效率比较低!

分享到:
评论

相关推荐

    删除表中重复数据sql语句

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

    Oracle删除表中的重复数据

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

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

    ### SQL删除表里重复数据的两种方法 在数据库管理中,数据的一致性和准确性是非常重要的。重复的数据不仅会占用额外的存储空间,还可能导致查询结果的不准确。因此,掌握如何有效地删除表中的重复记录是每个数据库...

    sqlServer删除重复数据

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

    如何删除表中重复数据

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

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

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

    删除数据表中重复记录

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

    sql删除表中重复记录方法

    标题与描述概述的知识点是关于如何使用SQL语句来删除数据库表中的重复记录,这是一个在数据清理和维护数据完整性时非常实用的技术。以下是对给定文件中四种方法的详细解析和扩展,旨在帮助读者深入理解并掌握这些...

    删除SQL Server 200表中重复数据.docx

    总的来说,SQL Server 2000中删除重复数据涉及到对数据的深度理解和使用适当的数据清理策略。正确安装补丁和定期维护数据库是保持其健康和高效运行的关键。在遇到问题时,了解并应用上述解决策略可以帮助你更顺利地...

    删除SQL Server 200表中重复数据.pdf

    总的来说,SQL Server 2000的用户需要熟悉数据库的管理技巧,包括删除重复数据、解决安装问题以及执行常规维护,以确保数据的准确性和系统的稳定性。通过学习和实践,可以有效地应对这些问题,提高数据库管理的效率...

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

    ### SQL Server删除重复数据的方法 在数据库管理过程中,经常会遇到需要清理重复数据的情况。重复数据不仅浪费存储空间,还可能导致数据分析结果出现偏差。对于SQL Server而言,有多种方法可以用来删除重复的数据,...

    查询重复数据sql语句

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

    删除表中重复数据sql语句.docx

    本文将详细讲解如何使用SQL语句来查询和删除数据库表中的重复数据。 首先,我们要了解什么是重复数据。在数据库中,重复数据是指具有相同值的一个或多个字段的数据行。例如,如果一个`people`表中有多个人具有相同...

    SQL语句删除数据表中重复的记录

    在SQL中,可以使用特定的查询语句来删除重复的记录,以保持数据的整洁和准确。以下是如何使用SQL语句来删除数据表中重复记录的详细步骤。 首先,我们来看一个简单的例子,假设我们有一个名为`Repeat`的数据表,其中...

    删除Access数据库中重复的数据

    6. **自动化过程**:如果经常需要进行此操作,可以考虑编写VBA宏或者使用Access的模块功能,自动化整个删除重复数据的过程。这样,只需点击一下按钮,Access就能自动检查并删除重复数据。 7. **预防措施**:为了...

    SQL语句删除重复记录

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

    删除表中重复数据sql语句.pdf

    在SQL中,处理重复数据是一项常见的任务,尤其是在数据清洗和数据整理...通过巧妙地组合这些元素,我们可以有效地查询并删除重复数据,确保数据的准确性和一致性。在实际应用中,应根据具体情况选择最合适的解决方案。

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

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

    查询和删除表中重复数据

    删除重复数据是维护数据完整性和准确性的重要步骤。下面介绍几种常见的删除重复数据的方法: #### 1. 删除具有相同 `peopleId` 的重复记录 **示例**: ```sql DELETE FROM people WHERE peopleId IN (SELECT ...

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

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

Global site tag (gtag.js) - Google Analytics