我们在开发程序中经常会遇到垃圾数据,这包括很让人头痛的重复数据(重复记录,部分重复记录)!
一般实现删除重复记录可以写一段代码,用游标遍历,从而删除记录,但如果记录条数比较多,用游标的方法删除需要执行非常长的时间,我试过,数据量不是很多,但是效率很低,结果不是很理想!
现在给大家推荐简便的方法:
完全重复的记录的删除
所有字段都重复的情况,
select distinct * into #tmp from tablename drop table tablename select * into tablename from #tmp drop table # tmp
[b]关键字段重复的记录[/b]
是部分关键字段重复的记录,其他字段不重复(或者可以说忽略对于程序不需要提取的信息:部分重复的字段)。
现在创建一个演示表:
/****** @author:wujincheng 对象: Table [dbo].[T_CASE_test] 脚本日期: 01/28/2010 17:05:41 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[T_Test](
[BUSICASEID] [bigint] NOT NULL,
[BUSIOPERATE] [smallint] NOT NULL,
[BUSIOPERATEOPINION] [varchar](max) COLLATE Chinese_PRC_CI_AS NULL,
[BUSIOPERATEDATE] [datetime] NOT NULL
) ON [PRIMARY]
[code="sql"]GO
SET ANSI_PADDING OFF
看下表中重复的数据:
可以看出1730和1733的记录已经重复了
那么为了解决这一问题战略四步走:
战略一:给该表一个重生,创建表,拷贝该表结构
select * into T_Test_Demo from dbo.T_Test where 1<>1
战略二:给该表一个升华
建立索引
丢包袱
战略三:给该表一个飞跃
拷贝不重复的数据:
insert into dbo.T_Test_Demo select * from dbo.T_Test
会有提示:已忽略重复的键。
(16196 行受影响)
战略四:妙手回春
删除原来的数据,重新导入
delete dbo.T_Test
insert into dbo.T_Test select * from dbo.T_Test_Demo
其实表中重复的部分数据,同样的原理。
在建立索引时
我们再看一些数据
1730的办件出现三个重复的新增办件信息,有两个修改办件信息和一个办结信息...
根据程序的需要就不能笼统的冠以之垃圾数据,
需要提取1730的新增办件信息,和一个修改的办件信息以及一个办结信息,那么原理同上,需要多建立一个索引,修改后即可。呵呵,时间不早了....
似乎麻烦了,看一个文档,很好解决
http://wenku.baidu.com/view/82b09b2f0066f5335a81216d.html
分享到:
相关推荐
SQL Server 删除重复数据 SQL Server 删除重复数据是数据库管理中的一项重要任务。重复数据可能是完全重复的记录,也可能是部分关键字段重复的记录。删除重复数据可以使用多种方法,包括使用 SELECT DISTINCT 语句...
在SQL Server中,处理重复...总之,通过创建临时表、添加唯一索引、复制数据以及更新原表,可以有效地在SQL Server中删除重复记录,而无需使用游标,提高了处理效率。这种方法尤其适用于处理大型表,且易于理解和实现。
SQL语句删除重复记录 在数据库管理中,删除重复记录是一个非常重要的操作。重复记录可能来自于数据导入、系统错误或者其他原因。今天,我们将探讨如何使用 SQL 语句删除重复记录。下面将介绍四种不同的方法来删除...
本文将详细介绍如何在不同的数据库系统(如MySQL、SQL Server、Oracle等)中删除重复记录。 #### SQL删除重复记录的基本思路 删除重复记录的核心思想是先识别出哪些记录是重复的,然后通过某种方式将这些重复记录...
2. **删除重复记录**:保留每个`peopleId`的最小`rowid`,删除其他重复的行: ```sql DELETE FROM people WHERE peopleId IN ( SELECT peopleId FROM people GROUP BY peopleId HAVING COUNT(peopleId) > 1 ) ...
### SQL Server删除重复数据的方法 在数据库管理过程中,经常会遇到需要清理重复数据的情况。重复数据不仅浪费存储空间,还可能导致数据分析结果出现偏差。对于SQL Server而言,有多种方法可以用来删除重复的数据,...
标题中的“一款免安装sqlserver客户端管理工具,好用”指的是SqlDbxPersonal,这是一款专为SQL Server设计的轻量级、无需安装的数据库管理工具。它允许用户方便地进行SQL查询、数据库管理和开发工作,而无需经历传统...
SQL作为最常用的数据库查询语言,其对于处理重复记录的能力尤为重要。本文将深入解析几种常见的SQL查询重复记录的方法,并通过示例代码加以说明,帮助读者更好地理解和掌握这些技巧。 ### SQL查询重复记录方法概览 ...
根据提供的标题、描述以及部分内容,本文将详细介绍使用SQL删除数据库表中的重复记录的不同方法。在实际操作中,去除重复数据是数据库管理中的常见需求之一,尤其是当数据来源于多个不同的源或者由于历史原因导致...
- **审计与日志**: SQL Server 可以记录数据库活动,用于合规性和故障排查。 6. **备份与恢复** - **备份策略**: 根据业务需求,制定合适的备份计划,包括完整备份、差异备份和事务日志备份。 - **恢复模式**: ...
在 SQL Server 2005 中,可以通过以下步骤实现数据库的备份: - 首先,需要添加一个备份设备: ```sql USE master; EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'; ``` - 然后...
在SQL Server 2005中,学习SQL首先要掌握其基本语法,包括数据查询、插入、更新和删除操作。例如,SELECT语句用于从表中检索数据,INSERT用于向表中添加新记录,UPDATE用于修改现有记录,而DELETE则用于删除记录。...
6. SQL Server的数据操作:涉及使用SQL Server的T-SQL语言进行数据的插入、更新、删除和查询等操作。 7. 数据完整性与安全性:学习如何使用SQL Server实现数据完整性和安全性的机制,例如设置触发器、存储过程和...
sqlserver 循环临时表插入数据到另一张表 -- 声明变量 DECLARE @SupCode as varchar(100), @ProdCode as varchar(50), @PackLayer as varchar(50), @CodeStatus as varchar(50), @ProductId as varchar(50), @...
在SQL Server中,事务是确保数据一致性的重要机制,特别是在存储过程中。存储过程是一组预编译的SQL语句,可以在数据库中被多次调用,提高了效率并降低了网络流量。本篇将详细介绍如何在SQL Server存储过程中使用...
删除表中多余的重复记录,且重复记录是根据多个字段来判断,可以使用以下 SQL 语句: ```sql DELETE FROM vitae a WHERE (a.peopleId, a.seq) IN (SELECT peopleId, seq FROM vitae GROUP BY peopleId, seq ...
SQL Server支持多种数据类型,如整型、浮点型、字符型、日期时间型等,并提供了一套完整的SQL语言实现对数据的增删查改等操作。 ### SQL Server 2012的安装与配置 在开始学习之前,首先需要正确安装和配置SQL ...
在IT行业中,数据库管理系统(DBMS)如Sql Server扮演着至关重要的角色,它们负责管理和存储数据。Sql Server是一个广泛使用的数据库系统,它提供了强大的SQL语言支持来操作和管理数据。SQL(Structured Query ...