`
wandejun1012
  • 浏览: 2720180 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

删除数据库中重复记录的SQL语句(转)

    博客分类:
  • DB
 
阅读更多

参考URL:http://qinya.iteye.com/blog/677306

 

在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢? 

思考:如何仅有部分字段重复,如何查找所有记录,重复记录只显示一遍??

1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断 

Java代码  收藏代码
  1. select * from people  
  2. where peopleId in (select  peopleId  from  people  group  by  peopleId  having  count(peopleId) > 1)  


2、删除表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断,只留有rowid最小的记录 
Java代码  收藏代码
  1. delete from people   
  2. where peopleId  in (select  peopleId  from people  group  by  peopleId   having  count(peopleId) > 1)  
  3. and rowid not in (select min(rowid) from  people  group by peopleId  having count(peopleId )>1)  


3、查找表中多余的重复记录(多个字段) 
Java代码  收藏代码
  1. select * from vitae a  
  2. where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq  having count(*) > 1)  

4、删除表中多余的重复记录(多个字段),只留有rowid最小的记录 
Java代码  收藏代码
  1. delete from vitae a  
  2. where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)  


5、查找表中多余的重复记录(多个字段),不包含rowid最小的记录 
Java代码  收藏代码
  1. select * from vitae a  
  2. where (a.peopleId,a.seq) in  (select peopleId,seq from vitae group by peopleId,seq having count(*) > 1) and rowid not in (select min(rowid) from vitae group by peopleId,seq having count(*)>1)  
分享到:
评论

相关推荐

    删除表中重复数据sql语句

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

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

    今天,我们将讨论删除数据库中重复记录的经典方法,包括使用 SQL 语句和其他技巧。 查找表中多余的重复记录 要删除数据库中重复记录,首先需要找到这些记录。我们可以使用 SQL 语句来实现这一点。例如,我们可以...

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

    删除表中多余的重复记录可以使用以下SQL语句: ```sql delete from people where peopleId in (select peopleId from people group by peopleId having count(peopleId) > 1) and rowid not in (select min(rowid) ...

    数据库sql语句数据库sql语句

    在本文中,我们将深入探讨SQL语句在Access数据库中的应用,以及如何利用它们来执行各种数据库操作。 一、SQL基础 SQL由四大类语句组成:数据定义语言(DDL)、数据操作语言(DML)、数据查询语言(DQL)和数据控制...

    删除数据表中重复记录

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

    查询重复数据sql语句

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

    SQL语句删除重复记录

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

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

    当我们想找出基于单一字段(如 `Id`)的重复记录时,可以使用如下的 SQL 语句: ```sql select * from 表 where Id in (select Id from 表 group by Id having count(Id) > 1) ``` 这个查询会返回所有在 `Id` ...

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

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

    sql查询重复记录语句

    在某些情况下,我们需要保留一组重复记录中的一条,而删除其他重复记录。这可以通过以下SQL语句实现: ```sql DELETE FROM HZT WHERE ID NOT IN (SELECT MAX(ID) FROM HZT GROUP BY Title); ``` 该语句通过`NOT ...

    清除SQL数据库里的重复记录

    本教程将深入讲解如何在SQL数据库中检测并删除重复记录,以确保数据的唯一性和准确性。 首先,我们需要理解SQL中的"唯一性"。一个表的字段如果要求唯一,意味着每个值在这个字段中只能出现一次。例如,员工ID或电子...

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

    这条SQL语句用于查找`people`表中`peopleId`字段存在重复的所有记录。通过`GROUP BY`子句对`peopleId`进行分组,然后利用`HAVING COUNT(peopleId) > 1`条件筛选出那些计数大于1的分组,即`peopleId`重复的记录。 ##...

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

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

    Delphi自动删除数据库中重复记录..rar

    这个压缩包文件"Delphi自动删除数据库中重复记录.."提供了一个解决方案,可能是通过 Delphi 代码来实现对数据库中重复记录的自动检测和删除。在本文中,我们将深入探讨 Delphi 与数据库交互的基本原理,以及如何编写...

    删除数据库中的重复记录

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

    删除数据库中重复的数据(只保留一条)

    在数据库管理过程中,经常会遇到需要清理数据的情况,其中一种常见需求就是删除数据库中的重复记录,同时确保每条数据的关键字段只保留一条记录。这种操作在维护数据一致性、提高查询效率等方面具有重要意义。根据...

    arcgis中的sql语句

    - **删除(DELETE)**:用于移除数据库中的记录。例如,`DELETE FROM table1 WHERE range`。 - **更新(UPDATE)**:用于修改数据库中的现有记录。例如,`UPDATE table1 SET field1=value1 WHERE range`。 ##### 2. ...

    数据库中sql语句的课件

    【SQL语句详解】 SQL(Structured Query Language),结构化查询语言,是用于管理和处理数据库的标准语言。本课件深入浅出地介绍了SQL的基础知识,包括数据的增删改查(CRUD)操作以及数据库表的定义和结构修改。 ...

    Oracle数据库sql语句的基本操作详解

    在涉及子查询的SQL语句中,尽量减少对表的查询次数。例如,通过将子查询转换为JOIN操作,可以直接在主查询中处理相关数据,从而避免多次访问表。 综上所述,优化Oracle SQL语句的基本操作是提升数据库性能的关键。...

    经典SQL语句大全 - 数据库

    ### 经典SQL语句大全解析 #### 一、数据库操作(DDL) 1. **创建数据库** 创建一个新的数据库可以使用如下语句: ```sql ...掌握这些经典的SQL语句对于任何从事数据库工作的人员来说都是极其重要的。

Global site tag (gtag.js) - Google Analytics