`

【经典SQL】删除表中重复的记录

 
阅读更多

考虑到这种SQL用到的还是比较多,故在此记录一下。

问题 从表中删除重复的记录,考虑如下表结构信息:

create table dupes (id integer,name varchar(10));
insert into dupes values(1,'NAPOLEON');
insert into dupes values(2,'DYNAMITE');
insert into dupes values(3,'DYNAMITE');
insert into dupes values(4,'SHE SELLS');
insert into dupes values(5,'SHE SELLS');
insert into dupes values(6,'SHE SELLS');
insert into dupes values(7,'SHE SELLS');

select * from dupes order by 1;

对于每个像“SHE SELLS”这样重复的姓名组,只任意保留其中一个的ID,并将其余的记录删除掉。

解决方案如下:

delete from dupes where id not in (select min(id) from dupes group by name)


版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    删除表中重复数据sql语句

    2. **删除表中多余的重复记录** - **删除单字段重复记录(保留最小ROWID)** ```sql DELETE FROM people WHERE peopleId IN ( SELECT peopleId FROM people GROUP BY peopleId HAVING COUNT(peopleId) > 1 ...

    sql删除表中重复记录方法

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

    删除数据表中重复记录

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

    sql查询表中某字段下所有重复的记录

    sql查询表中某字段下所有重复的记录,删除某字段下重复记录最小的那笔记录

    SQL语句删除重复记录

    在这种方法中,我们首先将重复的记录记入一个临时表temp1,然后将不重复的记录记入另一个临时表temp2,最后删除原表中的重复记录并将temp2中的记录插入回原表。 优点:这种方法可以快速删除重复记录,且对大型...

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

    这种方法适用于仅需删除重复记录中的部分行,而保留至少一行的情况。通过比较不同记录的ROWID来确定哪些记录是重复的,并利用子查询找出这些重复记录的最大ROWID,然后将其删除。 **SQL示例代码:** ```sql DELETE...

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

    因此,掌握如何有效地删除表中的重复记录是每个数据库管理员或开发人员都需要了解的一项技能。本文将详细介绍SQL中删除表内重复数据的两种方法,并对每种方法进行深入解析。 #### 方法一:使用子查询删除重复记录 ...

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

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

    用SQL删除重复记录的N种方法

    根据提供的标题、描述以及部分内容,本文将详细介绍使用SQL删除数据库表中的重复记录的不同方法。在实际操作中,去除重复数据是数据库管理中的常见需求之一,尤其是当数据来源于多个不同的源或者由于历史原因导致...

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

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

    sql查询重复记录方法大全

    以上是查询和处理SQL中重复记录的一些常用方法,每种方法都有其适用场景,实际应用时需根据具体情况选择合适的方法。希望本文能帮助您更好地理解和运用这些技巧,提高数据库管理和数据清洗的工作效率。

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

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

    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中删除重复记录(多种方法).

    在SQL中删除重复记录(多种方法).有兴趣的可以下载

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

    这个命令会删除除了每个 `Id` 组中 `ROWID` 最小的记录之外的所有重复记录。 3. **查询多个字段的重复记录**: 如果需要基于多个字段(如 `Id` 和 `seq`)来查找重复,可以修改查询语句如下: ```sql select * ...

    轻松消除SQL SERVER重复记录

    在SQL Server中,处理重复...总之,通过创建临时表、添加唯一索引、复制数据以及更新原表,可以有效地在SQL Server中删除重复记录,而无需使用游标,提高了处理效率。这种方法尤其适用于处理大型表,且易于理解和实现。

    删除表中重复记录

    在SQL中,删除表中的重复记录是一个常见的需求,特别是在数据导入或者数据整合过程中。这个问题可以从两个方面来解决:有主键的情况和无主键的情况。下面将详细解释这两种情况下的处理方法。 一、具有主键的情况 1...

Global site tag (gtag.js) - Google Analytics