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

查找、删除重复记录

 
阅读更多
查找、删除重复记录: 
  法一: 用Group by语句 此查找很快的 
   
  select count(num), max(name) from student --查找表中num列重复的,列出重复的记录数,并列出他的name属性 
  group by num 
  having count(num) >1 --按num分组后找出表中num列重复,即出现次数大于一次 
  delete from student(上面Select的) 
  这样的话就把所有重复的都删除了。-----慎重 
   
  法二:当表比较大(例如10万条以上)时,这个方法的效率之差令人无法忍受,需要另想办法: 
   
  ---- 执行下面SQL语句后就可以显示所有DRAWING和DSNO相同且重复的记录 
   
  SELECT * FROM EM5_PIPE_PREFAB 
  WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB D --D相当于First,Second 
  WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND 
  EM5_PIPE_PREFAB.DSNO=D.DSNO); 
  ---- 执行下面SQL语句后就可以刪除所有DRAWING和DSNO相同且重复的记录 
   
  DELETE FROM EM5_PIPE_PREFAB 
  WHERE ROWID!=(SELECT MAX(ROWID) FROM EM5_PIPE_PREFAB D 
  WHERE EM5_PIPE_PREFAB.DRAWING=D.DRAWING AND 
  EM5_PIPE_PREFAB.DSNO=D.DSNO); 

 

分享到:
评论

相关推荐

    查找删除重复记录

    ### 查找删除重复记录 #### 知识点一:理解重复记录的概念与影响 在数据库管理中,重复记录是指数据库表中的数据项完全相同或部分关键字段相同的多条记录。这些重复的数据可能会导致数据统计不准确、占用额外的...

    Oracle中查找和删除重复记录方法

    删除重复记录的方法原理:在Oracle中,每一条记录都有一个rowid,rowid在整个数据库中是唯一的,rowid确定了每条记录是在Oracle中的哪一个数据文件、块、行上。在重复的记录中,可能所有列的内容都相同,但rowid不会...

    怎样删除数据库中重复记录

    删除数据库中重复记录的经典方法 删除数据库中重复记录是数据库管理中一个常见的问题,特别是在数据量庞大的时候。今天,我们将讨论删除数据库中重复记录的经典方法,包括使用 SQL 语句和其他技巧。 查找表中多余...

    VB删除Access数据库中重复记录(已测试,编译通过)

    在Access中一般只能查找10行大概20条重复记录,这样程序就可以任意指定表及多字段检索重复记录,并把重复的记录移除到一个临时表中,并不是进行真正删除,你可以进行恢复。但是执行第二次查找时则自动删除上次查找的...

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

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

    数据库 查询删除重复数据

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

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

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

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

    在Access中一般只能查找10行大概20条重复记录,这样程序就可以任意指定表及多字段检索重复记录,并把重复的记录移除到一个临时表中,并不是进行真正删除,你可以进行恢复。但是执行第二次查找时则自动删除上次查找的...

    MySQL中查询、删除重复记录的方法大全

    本文主要给大家介绍了关于MySQL中查询、删除重复记录的方法,分享出来供大家参考学习,下面来看看详细的介绍: 查找所有重复标题的记录: select title,count(*) as count from user_table group by title having ...

    sql查询重复记录方法大全

    - 外层删除语句删除这些重复记录。 #### 方法四:删除具有重复值的记录(保留每组中的一条) **SQL语句**: ```sql DELETE FROM HZT WHERE ID NOT IN (SELECT MAX(ID) FROM HZT GROUP BY Title); ``` **解析**:...

    删除数据库中的重复记录

    本篇文章将深入探讨如何在SQL数据库,如Microsoft Access(.accdb)中查找并删除重复记录。 一、查找重复记录 1. SQL查询:使用`GROUP BY`和`HAVING`子句可以找出重复的数据。例如,假设我们有一个`Employees`表,...

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

    除了使用子查询和RowId外,还有其他方法可以用来查找和删除重复记录。例如,我们可以使用游标来删除重复记录: ```sql declare @max integer, @id integer declare cur_rows cursor local for select 主字段, count...

    删除sigil软件中使用“查找和替换”的记录

    在Sigil中,虽然没有直接提供删除查找和替换记录的选项,但我们可以采取一种间接的方法来清理这些历史记录。首先,你需要找到Sigil的配置文件,通常它位于用户的个人应用数据目录下,名为“sigil.ini”。这个文件...

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

    查询及删除重复记录的SQL语句1、查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1)2、删除表中多余的重复记录,...

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

    以上几种方法都可以有效地帮助我们查找和删除Oracle数据库中的重复记录。选择哪种方法取决于具体的业务需求和数据规模。ROWID方法适合于快速定位记录;GROUP BY方法可用于统计重复记录的数量;而DISTINCT方法适用于...

    SQL语句查询重复记录大全

    - **复合字段**:与上述删除操作类似,也可以基于多个字段查找重复记录。 - **SQL示例**: ```sql SELECT * FROM vitae a WHERE (a.peopleId, a.seq) IN ( SELECT peopleId, seq FROM vitae GROUP BY peopleId...

    FME查找重复属性

    该功能的主要目的是查找具有相同属性值的特征,并根据需求对这些重复特征进行操作,如过滤、合并或删除。在描述中提到,此功能目前仅适用于“面”类型的几何对象,而不适用于“点”和“线”类型。这意味着如果你的...

    SQL删除重复行

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

Global site tag (gtag.js) - Google Analytics