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

删除重复行的两种方法

    博客分类:
  • sql
 
阅读更多
数据准备:
CREATE TABLE my_test (id INT NOT NULL PRIMARY KEY, col CHAR(1));
INSERT INTO my_test(1,'a');
INSERT INTO my_test(2,'a');
INSERT INTO my_test(3,'b');
INSERT INTO my_test(4,'b');
INSERT INTO my_test(5,'b');
INSERT INTO my_test(6,'c');
INSERT INTO my_test(7,'c');
INSERT INTO my_test(8,'d');
SEL * FROM my_test order by id;

结果
	id	col
1	1	a
2	2	a
3	3	b
4	4	b
5	5	b
6	6	c
7	7	c
8	8	d

方法1:
BT;
DELETE FROM my_test a WHERE id>(
SEL MIN(id) FROM my_test b WHERE a.col=b.col);
SEL * FROM my_test ORDER BY id;
ROLLBACK;

或者:
BT;
DELETE FROM my_test a WHERE id<(
SEL MAX(id) FROM my_test b WHERE a.col=b.col);
SEL * FROM my_test ORDER BY id;
ROLLBACK;

结果:
	id	col
1	1	a
2	3	b
3	6	c
4	8	d


方法2:
BT;
DELETE FROM  my_test  t1, my_test  t2
WHERE t1.col=t2.col AND t1.id>t2.id;
SEL * FROM my_test;
ROLLBACK;

或者
BT;
DELETE FROM  my_test  t1, my_test  t2
WHERE t1.col=t2.col AND t1.id<t2.id;
SEL * FROM my_test;
ROLLBACK;

结果:
	id	col
1	3	b
2	6	c
3	1	a
4	8	d

分享到:
评论

相关推荐

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

    以上介绍了两种删除SQL表中重复记录的方法:一种是通过子查询直接删除重复项;另一种是通过创建临时表的方式,先将唯一记录保存到临时表中,然后重建原始表。选择哪种方法取决于具体情况,如表的大小、表结构复杂度...

    SQL语句删除重复记录

    下面将介绍四种不同的方法来删除重复记录。 Knowledge Point 1: 使用临时表删除重复记录 在这种方法中,我们首先将重复的记录记入一个临时表temp1,然后将不重复的记录记入另一个临时表temp2,最后删除原表中的...

    SQL删除重复行

    本文将详细讨论如何使用SQL语句来删除重复行,分为基于单个字段和多个字段的情况,并提供两种不同的方法。 首先,我们来看基于单个字段删除重复行的情况。假设我们有一个名为`people`的表,其中`peopleId`字段可能...

    删除数据表中重复记录

    通过上述方法,可以在MySQL、SQL Server、Oracle等多种数据库管理系统中有效地删除数据表中的重复记录。需要注意的是,在实际操作前最好对数据进行备份,以防误删重要的数据。此外,根据数据库的不同版本和特性,...

    sql删除表中重复记录方法

    这种方法通过创建两个临时表来辅助删除重复记录的过程。首先,通过`GROUP BY`和`COUNT(*)`函数找出重复的记录,并将这些记录的ID存储到临时表`temp1`中。接着,将不重复的记录也插入到`temp1`中。之后,创建一个新的...

    Excel 2021快速删除重复记录的方法.docx

    本教程将详细介绍两种快速删除重复记录的方法:传统方法(使用高级筛选)以及新增的“删除重复项”功能。 ### 一、传统方法:使用高级筛选 高级筛选是Excel中的一个强大功能,它允许用户根据特定条件筛选数据,...

    oracle中如何删除重复的记录

    以上介绍了两种在Oracle数据库中删除重复记录的方法。第一种方法适用于数据量较小的情况,第二种方法则更适合处理大数据量的场景。实际应用时,可以根据具体情况选择合适的方法。需要注意的是,在进行删除操作之前...

    实例介绍删除数据库中重复数据的几个方法

    以上介绍了两种处理数据库中重复记录的方法,一种针对完全重复的记录,另一种则针对部分关键字段重复的情况。这两种方法都能有效地解决数据库中常见的重复记录问题。在实际应用中,应根据具体的需求和场景选择最合适...

    ORACLE去除重复数据方法

    本文介绍了两种在Oracle数据库中去除重复数据的方法:一是通过子查询实现,二是利用窗口函数`ROW_NUMBER()`。这两种方法各有优劣: - **子查询方法**适用于大多数Oracle版本,但可能不够直观,尤其是在处理复杂数据...

    matlab中如何去掉数组中重复的值

    Matlab 中去掉数组中重复的值 Matlab 是一个功能强大的数学和技术计算软件,对于数据处理和分析有着广泛的应用。...通过这两种方法,我们可以轻松地删除重复数据,避免数据处理中的错误和不一致性。

    文本文件,删除重复行

    哈希表允许我们快速查找和标记已出现过的行,而位图方法则可以利用二进制表示来追踪文件中的每一行是否已经处理过,这两种方法都能够在常数时间内完成查找,大大提升了处理速度。 文件去重是一个基础但重要的数据...

    数据库 查询删除重复数据

    重复记录可以分为两种:完全重复的记录和部分关键字段重复的记录。完全重复的记录是所有字段均重复的记录,而部分关键字段重复的记录是某些字段重复的记录。 解决重复记录的问题 重复记录的问题可以通过增加唯一...

    用excel高级筛选中选择不重复记录两种方式的差异图解.docx

    这里我们将深入探讨两种不同的方法,它们在处理不重复记录时的区别,并通过图解方式进行详细说明。 方法一:在原有区域显示筛选结果 这种方法在应用高级筛选时,不会真正删除或移除任何数据,而是将非重复的记录...

    C编程中常见的几种删除重复字符或者数字的方法

    "C编程中常见的几种删除重复字符或者数字的方法" C语言是一种广泛使用的高级编程语言,它广泛应用于操作系统、嵌入式系统、数据库等领域。对于字符串的处理是C语言编程中的一个非常重要的方面,其中删除重复字符...

    oracle删除重复记录性能分析

    这种方法通过比较两个表中的`ggzj_zqdm`字段,仅保留最大ROWID值的记录,其他重复记录均被删除。适用于有特定条件限制的场景。 #### 三、性能分析 1. **ROWID直接删除**:优点在于简单且速度快,但对于数据量较大...

    过滤一些重复记录的方法

    过滤重复记录的方法有很多种,以下是几种常用的技术: 1. **SQL查询**:在关系型数据库中,可以使用SQL的聚合函数`DISTINCT`来去除重复记录。例如,`SELECT DISTINCT 员工ID, 上班日期 FROM 考勤记录`会返回不重复...

    excel删除重复行.docx

    在 Excel 中删除重复行可以使用多种方法,本文将介绍 Excel 2021 和 Excel 2021 中删除重复行的两种方法。 方法一:使用高级筛选 第一步:选择表中的所有记录 第二步:选择菜单栏上的“数据”选项,然后选择...

    文本文件,删除重复行(exe文件)

    去重方法通常分为基于内存和基于磁盘两种。基于内存的方法适用于文件大小较小的情况,所有数据可以一次性加载到内存中;而基于磁盘的方法则适用于大文件,需要多次读写磁盘。 这个exe文件显然采用了某种高效的内存...

    java 去掉重复字符 三个方法

    我们可以将字符串转换为字符流,然后通过`distinct()`方法去除重复,最后再转换回字符串。 ```java public String removeDuplicates(String str) { return new String(str.chars().distinct().mapToObj(c -&gt; (char...

Global site tag (gtag.js) - Google Analytics