前几天老大吩咐我一个任务:去除一张表里的重复(一个字段)记录.
table为表名, filed 为 待去重复的字段, id 为主键 数据库采用的是 sql server 2005 数量量一百多万.
思索未几,得出方案一如下:
SELECT filed ,min(ID) as id into #TBA FROM table group by filed having count(*) > 1 order by id
DECLARE mycur CURSOR FOR SELECT filed ,id FROM #TBA
OPEN mycur
declare @filed varchar(50),@id int
FETCH NEXT FROM mycur Into @filed ,@id
WHILE @@FETCH_STATUS = 0
BEGIN
delete from table where filed = @filed and id > @id
FETCH NEXT FROM mycur Into @filed ,@id
END
okay,方案得出,运行,吃饭时间到,先填饱肚子去.
大概一个多小时后,居然还在运行..无奈只得中止查询分析器.
此时老大过来要结果了.于是做苦思冥想状.
忽然灵光一现,得出方案二如下:
SELECT min(ID) as id into #TBA FROM table group by filed order by id
delete from table where id not in (select id from #TBA)
激动中..运行..速度那可不是提高了一点点..
总结:换个方向思考,或许可以得出意外结果..
分享到:
相关推荐
在开始删除重复记录之前,首先需要确定哪些记录是重复的。以下SQL语句可以用来查询`test`表中所有字段都重复的记录: ```sql SELECT * FROM test GROUP BY name, age, sex, id, sf HAVING COUNT(*) > 1; ``` 这里...
本话题将围绕“易语言最简单的数据去除重复”这一主题,深入探讨如何在易语言中实现数据去重的功能。 首先,我们要理解“数据去重”的概念。在数据处理中,数据去重是指从数据集中移除重复的记录,确保每个元素在...
在SQL中,可以使用特定的查询语句来删除重复的记录,以保持数据的整洁和准确。以下是如何使用SQL语句来删除数据表中重复记录的详细步骤。 首先,我们来看一个简单的例子,假设我们有一个名为`Repeat`的数据表,其中...
这种方法适用于只需要删除重复记录中的某些行的情况。步骤如下: 1. **找出重复的记录**:首先,我们需要找到那些重复的记录。可以通过子查询来实现这一点。 ```sql SELECT age FROM ( SELECT age, COUNT(*) as...
MySQL作为最受欢迎的关系型数据库管理系统之一,提供了多种功能来处理数据,包括如何有效地删除重复记录。本文将深入探讨MySQL中删除重复记录的方法,以及如何利用其特性来优化数据管理流程。 ### MySQL删除重复...
### Oracle删除重复记录性能分析 #### 一、背景与需求 在数据库管理中,经常会遇到数据清理的需求,尤其是在Oracle数据库中处理重复记录时。本文旨在通过对比几种不同的方法来删除Oracle中的重复记录,并分析其...
### 最高效的删除重复记录方法 在数据库管理过程中,删除重复记录是一项常见的需求,尤其是在数据清洗、维护数据一致性等方面。本文将详细介绍一种高效的方法来删除Oracle数据库中的重复记录,并通过具体的SQL语句...
此外,如果数据源是数据库查询结果,易语言提供了数据库模块来与数据库交互,可以利用SQL语句的DISTINCT关键字直接去除重复记录。 "SanYe"这个标签可能是作者或资源站点的标识,它可能代表了该源码来自易语言社区的...
直接使用`IN`子句与上述查询结合删除重复数据,但这种方法效率低下,尤其是在大量数据时: ``` DELETE FROM 表名 a WHERE (字段1, 字段2) IN ( SELECT 字段1, 字段2, COUNT(*) FROM 表名 GROUP BY 字段1, ...
1. 直接添加源库至目标库并删除重复记录: 这种方法适用于源库与目标库已经合并的情况。首先,将待处理的数据源库直接添加到目标库中,随后在目标库中检测并删除产生的重复记录。这种方法简单直接,但可能因为重复...
在实际操作中,去除重复数据是数据库管理中的常见需求之一,尤其是当数据来源于多个不同的源或者由于历史原因导致数据中存在大量重复记录时,对这些重复记录进行清理显得尤为重要。 ### 方法一:使用子查询来删除非...
删除重复记录功能对于保持数据的整洁和准确性非常有用,特别是在进行数据分析、报表制作或导入其他系统之前。它可以帮助你快速定位并消除重复数据,提高工作效率。然而,要注意的是,此功能不适用于那些需要保留所有...
本教程将详细介绍两种快速删除重复记录的方法:传统方法(使用高级筛选)以及新增的“删除重复项”功能。 ### 一、传统方法:使用高级筛选 高级筛选是Excel中的一个强大功能,它允许用户根据特定条件筛选数据,...
### 查找删除重复记录 #### 知识点一:理解重复记录的概念与影响 在数据库管理中,重复记录是指数据库表中的数据项完全相同或部分关键字段相同的多条记录。这些重复的数据可能会导致数据统计不准确、占用额外的...
在数据库管理过程中,删除重复记录是一项常见的需求,特别是当数据库中存在大量的冗余数据时,这不仅浪费存储空间,还可能导致查询性能下降以及数据的一致性问题。本文将详细介绍两种常见的删除数据库中重复数据的...
MongoDB没有提供直接删除重复记录的内置功能,但我们可以结合`aggregate`的结果,通过`$unwind`和`$lookup`等操作进一步处理,然后使用`remove()`或`updateMany()`来删除或更新重复记录。然而,这种方法可能涉及到多...
要删除这些重复的数据,直接使用以下语句可能效率低下,尤其是在大量数据时: ```sql DELETE FROM 表名 a WHERE (字段1, 字段2) IN ( SELECT 字段1, 字段2 FROM 表名 GROUP BY 字段1, 字段2 HAVING COUNT(*...
无论是部分字段重复还是完全重复的记录,都可以通过创建临时表的方式提高删除重复记录的效率。此外,在处理重复数据时,还应考虑到保留最新或最旧记录的需求,利用`ROWID`等特性可以轻松实现这一点。总之,合理地...
- **分批处理**:如果数据量非常大,考虑分批次删除重复记录,避免一次性处理大量数据导致系统资源紧张。 - **使用临时表**:如上述示例中使用了`WITH`语句定义的临时表,这有助于提高复杂查询的可读性和效率。 - **...
因此,掌握如何在Excel中删除重复数据是一项非常实用且重要的技能。 ### 标题:Excel中删除重复数据 #### 知识点一:手动删除重复数据 1. **选择数据范围**:首先选中包含重复数据的列或整个数据区域。 2. **使用...