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

用sql语句删除重复记录

阅读更多
Examples

For each department in the sample table oe.employees, the following example assigns numbers to each row in order of employee's hire date:

SELECT department_id, last_name, employee_id, ROW_NUMBER()
   OVER (PARTITION BY department_id ORDER BY employee_id) AS emp_id
   FROM employees;


DEPARTMENT_ID LAST_NAME                 EMPLOYEE_ID     EMP_ID
------------- ------------------------- ----------- ----------
           10 Whalen                            200          1
           20 Hartstein                         201          1
           20 Fay                               202          2
           30 Raphaely                          114          1
           30 Khoo                              115          2
           30 Baida                             116          3
           30 Tobias                            117          4
           30 Himuro                            118          5
           30 Colmenares                        119          6
           40 Mavris                            203          1
. . .
          100 Popp                              113          6
          110 Higgins                           205          1
          110 Gietz                             206          2

ROW_NUMBER is a nondeterministic function. However, employee_id is a unique key, so the results of this application of the function are deterministic.

分享到:
评论
3 楼 zhile005 2011-03-16  
高效的删除重复记录方法 (因为使用了ROWID)
DELETE FROM EMP E 
WHERE E.ROWID > (SELECT MIN(X.ROWID) 
FROM EMP X 
WHERE X.EMP_NO = E.EMP_NO);
2 楼 zhile005 2011-03-16  
高效的删除重复记录方法 (因为使用了ROWID)
DELETE FROM EMP E
WHERE E.ROWID > (SELECT MIN(X.ROWID)
FROM EMP X
WHERE X.EMP_NO = E.EMP_NO);
1 楼 zhile005 2011-02-28  
Oracle Database Online Documentation 10g Release 2 (10.2)
file://H:\Oracle\B19306_01\index.htm


非常不错,值得学习!

相关推荐

    SQL语句删除重复记录

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

    四种SQL语句删除重复记录的方法

    ### 四种SQL语句删除重复记录的方法 在数据库管理中,经常会出现数据冗余的情况,特别是当数据量庞大时,这种现象更为普遍。对于重复记录的处理是维护数据库完整性和提高查询效率的重要手段之一。本文将详细介绍四...

    SQL语句查询重复记录大全

    ### SQL语句删除所有重复记录 #### 1. 删除重复记录的基本方法 - **基本思路**:通常的做法是先找出重复记录,然后使用`DELETE`语句删除它们。 - **SQL示例**: ```sql DELETE FROM people WHERE peopleId IN ( ...

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

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

    删除表中重复数据sql语句

    以上SQL语句能够帮助我们删除除了具有最小ROWID之外的所有重复记录。 3. **查找表中多余的重复记录(不含最小ROWID)** ```sql SELECT * FROM vita_ea WHERE (a.peopleId, a.seq) IN ( SELECT peopleId, seq ...

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

    删除重复记录时,通常保留一个代表性的记录,例如保留 `ROWID` 最小的记录。可以使用以下 SQL 语句: ```sql DELETE from 表 WHERE (id) IN ( SELECT id FROM 表 GROUP BY id HAVING COUNT(id) > 1) AND ...

    删除数据表中重复记录

    本文将详细介绍如何在不同的数据库系统(如MySQL、SQL Server、Oracle等)中删除重复记录。 #### SQL删除重复记录的基本思路 删除重复记录的核心思想是先识别出哪些记录是重复的,然后通过某种方式将这些重复记录...

    sql查询重复记录语句

    删除重复记录是数据清理的重要步骤,以下是一种通用的删除所有重复记录的方法: ```sql DELETE FROM tableName WHERE colName IN (SELECT colName FROM tableName GROUP BY colName HAVING COUNT(*) > 1); ``` ...

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

    以下是如何使用SQL语句来删除数据表中重复记录的详细步骤。 首先,我们来看一个简单的例子,假设我们有一个名为`Repeat`的数据表,其中存在重复的记录。要删除这些重复的记录,但保留每个唯一组合的最新(最大`id`...

    sqlServer删除重复数据

    使用游标可以删除重复记录,每次删除一条记录。例如: ```sql DECLARE @max INTEGER, @id INTEGER DECLARE cur_rows CURSOR LOCAL FOR SELECT 主字段, COUNT(*) FROM 表名 GROUP BY 主字段 HAVING COUNT(*) > 1 OPEN...

    sql删除表中重复记录方法

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

    SQL删除重复行

    2. **删除重复记录**:保留每个`peopleId`的最小`rowid`,删除其他重复的行: ```sql DELETE FROM people WHERE peopleId IN ( SELECT peopleId FROM people GROUP BY peopleId HAVING COUNT(peopleId) > 1 ) ...

    sql查询重复记录方法大全

    - `rowid`用于唯一标识每条记录,从而能够更准确地删除重复记录。 #### 方法八:处理具有多个重复字段的记录 **SQL语句**: ```sql SELECT DISTINCT * INTO #Tmp FROM tableName; DROP TABLE tableName; SELECT * ...

    oracle删除重复数据的sql语句

    这条语句同样将删除除了每个peopleId和seq组合中ROWID最小的记录之外的所有重复记录。 综上所述,通过ROWID、GROUP BY和DISTINCT等多种方式,可以灵活有效地处理Oracle数据库中的重复数据问题。在实际应用中,可以...

    SQL语句实现删除重复记录并只保留一条

    本文将详细介绍如何使用SQL语句删除重复记录并仅保留一条。 首先,我们来看一种常见的实现方式,例如在`WeiBoTopics`表中删除重复记录并保留Id最大的一条。以下是一个SQL查询示例: ```sql DELETE FROM ...

    arcgis中的sql语句

    - **VBE环境下ADO方式执行SQL**:在Visual Basic for Applications (VBA)环境中,使用ActiveX Data Objects (ADO)技术可以实现SQL语句的自动化执行,适用于大规模数据处理和脚本编程。 综上所述,SQL在ArcGIS中的...

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

    对于涉及多个字段的重复记录删除,上述语句使用相同的逻辑,只是增加了`seq`字段作为复合键的一部分,以确保在删除时考虑到所有指定字段的组合。 ### 特殊类型字段的处理 对于`text`、`ntext`、`img`等类型字段,...

    基本SQL语句及PL/SQL语句

    文件"sql语句.ppt"和"PLSQL.ppt"可能包含了这些概念的详细解释和实例,帮助读者深入理解和掌握SQL和PL/SQL的使用。学习这些语句和语言对于任何需要与数据库交互的开发工作都是至关重要的,无论是在Web开发、数据分析...

    基本的去重复sql语句

    这段SQL语句的主要作用是从`CUSTOM_INFO`表中删除重复记录,保留每组中`rowid`最大的一条记录。具体步骤如下: 1. **子查询**:`(SELECT MAX(rowid) FROM CUSTOM_INFO b WHERE a.sampleid = b.sampleid)`用来找出与...

    sql 查询重复数据

    删除重复记录可以使用以下 SQL 语句: ```sql DELETE 表 WHERE 重复字段 In (SELECT 重复字段 FROM 表 GROUP BY 重复字段 HAVING COUNT(*) > 1); ``` 保留一条重复记录 如果只想保留一条重复记录,可以...

Global site tag (gtag.js) - Google Analytics