`

快速删除重复记录,SQL Server如何实现?

阅读更多
我们在开发程序中经常会遇到垃圾数据,这包括很让人头痛的重复数据(重复记录,部分重复记录)!




一般实现删除重复记录可以写一段代码,用游标遍历,从而删除记录,但如果记录条数比较多,用游标的方法删除需要执行非常长的时间,我试过,数据量不是很多,但是效率很低,结果不是很理想!


现在给大家推荐简便的方法:


完全重复的记录的删除


所有字段都重复的情况,

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
分享到:
评论

相关推荐

    sqlServer删除重复数据

    SQL Server 删除重复数据 SQL Server 删除重复数据是数据库管理中的一项重要任务。重复数据可能是完全重复的记录,也可能是部分关键字段重复的记录。删除重复数据可以使用多种方法,包括使用 SELECT DISTINCT 语句...

    轻松消除SQL SERVER重复记录

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

    SQL语句删除重复记录

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

    删除数据表中重复记录

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

    SQL删除重复行

    2. **删除重复记录**:保留每个`peopleId`的最小`rowid`,删除其他重复的行: ```sql DELETE FROM people WHERE peopleId IN ( SELECT peopleId FROM people GROUP BY peopleId HAVING COUNT(peopleId) &gt; 1 ) ...

    SQL Server删除重复数据的几个方法

    ### SQL Server删除重复数据的方法 在数据库管理过程中,经常会遇到需要清理重复数据的情况。重复数据不仅浪费存储空间,还可能导致数据分析结果出现偏差。对于SQL Server而言,有多种方法可以用来删除重复的数据,...

    一款免安装sqlserver客户端管理工具,好用

    标题中的“一款免安装sqlserver客户端管理工具,好用”指的是SqlDbxPersonal,这是一款专为SQL Server设计的轻量级、无需安装的数据库管理工具。它允许用户方便地进行SQL查询、数据库管理和开发工作,而无需经历传统...

    sql查询重复记录语句

    SQL作为最常用的数据库查询语言,其对于处理重复记录的能力尤为重要。本文将深入解析几种常见的SQL查询重复记录的方法,并通过示例代码加以说明,帮助读者更好地理解和掌握这些技巧。 ### SQL查询重复记录方法概览 ...

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

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

    sqlserver入门教程

    - **审计与日志**: SQL Server 可以记录数据库活动,用于合规性和故障排查。 6. **备份与恢复** - **备份策略**: 根据业务需求,制定合适的备份计划,包括完整备份、差异备份和事务日志备份。 - **恢复模式**: ...

    SQL Server2005基本方法和语句

    在 SQL Server 2005 中,可以通过以下步骤实现数据库的备份: - 首先,需要添加一个备份设备: ```sql USE master; EXEC sp_addumpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'; ``` - 然后...

    基于sql server 2005学习sql

    在SQL Server 2005中,学习SQL首先要掌握其基本语法,包括数据查询、插入、更新和删除操作。例如,SELECT语句用于从表中检索数据,INSERT用于向表中添加新记录,UPDATE用于修改现有记录,而DELETE则用于删除记录。...

    《SQL语言与数据库操作技术大全基于SQL Server实现》

    6. SQL Server的数据操作:涉及使用SQL Server的T-SQL语言进行数据的插入、更新、删除和查询等操作。 7. 数据完整性与安全性:学习如何使用SQL Server实现数据完整性和安全性的机制,例如设置触发器、存储过程和...

    sqlserver 循环临时表插入数据到另一张表

    sqlserver 循环临时表插入数据到另一张表 -- 声明变量 DECLARE @SupCode as varchar(100), @ProdCode as varchar(50), @PackLayer as varchar(50), @CodeStatus as varchar(50), @ProductId as varchar(50), @...

    SQLServer存储过程中事务的使用方法

    在SQL Server中,事务是确保数据一致性的重要机制,特别是在存储过程中。存储过程是一组预编译的SQL语句,可以在数据库中被多次调用,提高了效率并降低了网络流量。本篇将详细介绍如何在SQL Server存储过程中使用...

    sql 查询重复数据

    删除表中多余的重复记录,且重复记录是根据多个字段来判断,可以使用以下 SQL 语句: ```sql DELETE FROM vitae a WHERE (a.peopleId, a.seq) IN (SELECT peopleId, seq FROM vitae GROUP BY peopleId, seq ...

    sqlserver2012入门视频教程

    SQL Server支持多种数据类型,如整型、浮点型、字符型、日期时间型等,并提供了一套完整的SQL语言实现对数据的增删查改等操作。 ### SQL Server 2012的安装与配置 在开始学习之前,首先需要正确安装和配置SQL ...

    Sql Server 的SQL语句案例

    在IT行业中,数据库管理系统(DBMS)如Sql Server扮演着至关重要的角色,它们负责管理和存储数据。Sql Server是一个广泛使用的数据库系统,它提供了强大的SQL语言支持来操作和管理数据。SQL(Structured Query ...

Global site tag (gtag.js) - Google Analytics