- 浏览: 57171 次
- 性别:
- 来自: 北京
-
最新评论
有两个意义上的重复记录,一是完全重复的记录,也即所有字段均重复的记录,
二是部分关键字段重复的记录,比如Name字段重复,而其他字段不一定重复或都重复可以忽略。
1、对于第一种重复
使用select distinct * from tableName
就可以得到无重复记录的结果集。
如果该表需要删除重复的记录(重复记录保留1条),可以按以下方法删除
select distinct * into #Tmp from tableName
drop table tableName
select * into tableName from #Tmp
drop table #Tmp
发生这种重复的原因是表设计不周产生的,增加唯一索引列即可解决。
2、这类重复问题通常要求保留重复记录中的第一条记录,操作方法如下
假设有重复的字段为Name,Address,要求得到这两个字段唯一的结果集
select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)
最后一个select即得到了Name,Address不重复的结果集(但多了一个autoID字段,实际写时可以写在select子句中省去此列)
3、部分关键字段重复,且记录中有ID.
第一种方法可一次删除所有重复的..(只保留重复中ID最小的记录)。
delete from table where id not in ( select min(id) from table group by name)
第二种方法每次只删除重复中ID最大的一条记录。
delete from table where id in ( select max(id) from table group by name having count(*)>1)
4、SQL程序删除
declare @max integer,@id integer
declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
delete from 表名 where 主字段 = @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0
海马实验成功:
delete from ft_art where art_id not in (select min(art_id) from ft_art group by art_poster
having count(*)>0)
删除ft_art 中重复的项 保留重复项中art_id最小的一项 控制count(*)>n 则可以实现剩余项的个数
发表评论
-
ASP与PHP比较
2009-09-28 23:17 731ASP与PHP比较──────┐ ☆注释符号☆│******* ... -
同时提交两个表单
2009-09-28 18:16 1238<script> function tes ... -
用html提交表单
2009-09-28 18:16 1988方法一: <html> <head> ... -
从 "or"="or" 漏洞安全检测到修复手法
2009-09-28 18:15 909实施修复,方法有很多在这里介绍两种,咱们使用第2种 方法1 ... -
隐藏滚动条的控制
2009-09-28 18:13 11941)隐藏滚动条<body style="ove ... -
asp 字符串包含函数
2009-09-28 18:11 1073asp 字符串包含函数 <%ab="abcd ... -
防止外部提交表单
2009-09-28 18:11 775<% server_v1=Cstr(Request.S ... -
TXT生成MDB文件转ACCESS
2009-09-28 18:10 1369<%on error resume nextset co ... -
ASP内置对象Request的ServerVariables集合列表
2009-09-28 18:09 1157Request.ServerVariables("U ... -
内容复制后增加版权信息
2009-09-28 18:08 718<body >www.xinwanglu.cn 新 ... -
ASP生成html的新方法
2009-09-28 18:06 997已经有很多生成html的新闻系统,但是都是用的模板,本函数实现 ... -
27个不错的ASP代码
2009-09-28 18:02 8301. oncontextmenu="window.e ... -
用ASP实现上下线
2009-09-28 18:00 768用ASP实现上下线,方法是用来在线刷新的时间来做到。 一: ... -
用ASP发送EMAIL
2009-09-28 17:59 789<%function SendMail(ToAddres ... -
用户ASP中读出数据库名,表名,和字段名SQL的也行
2009-09-28 14:23 910<%'---------------读access库中的 ... -
用asp把一个单词分割成一个个字母
2009-09-28 14:17 781<% Dim StrStr="mynam ... -
ASP 只截取字符串的数字
2009-09-28 14:15 1204<%function RegExpTestsp(str, ... -
破解MD5的网站
2009-09-28 13:43 970http://www.md5.com.cn (一亿以上数据)h ... -
asp与数据库 总结与收集
2009-09-23 12:09 746关联文章 http://haimav.itey ... -
点击按钮打开 输入的链接
2009-09-14 21:56 8451、输出到框 <input type=text na ...
相关推荐
### 删除表中重复数据SQL语句详解 #### 一、基础知识概述 在数据库管理中,重复数据是一个...在实际操作中,建议先在测试环境中尝试这些SQL语句,确保它们能够正确地识别和处理重复数据,避免意外删除重要的数据。
SQL Server 删除重复数据是数据库管理中的一项重要任务。重复数据可能是完全重复的记录,也可能是部分关键字段重复的记录。删除重复数据可以使用多种方法,包括使用 SELECT DISTINCT 语句、使用自动生成的标识符、...
在SQL中,处理重复数据是一项常见的任务,尤其是在数据清洗和数据整理的过程中。本文将详细讨论如何使用SQL语句来删除重复行,分为基于单个字段和多个字段的情况,并提供两种不同的方法。 首先,我们来看基于单个...
在Oracle SQL中,删除重复数据并保留最新日期的实例是一个常见的数据清理任务,尤其是在具有历史记录或事务数据的数据库中。这个实例展示了如何通过SQL查询有效地处理这种情况。在这个例子中,我们有一个名为`abc`的...
在数据库管理过程中,去除重复数据是一项非常重要的任务。这不仅有助于提高数据质量,还能优化查询性能,确保数据的一致性和准确性。SQL作为一种广泛使用的数据库语言,提供了多种方法来处理重复数据问题。根据提供...
### SQL Server删除重复数据的方法 在数据库管理过程中,经常会...以上三种方法各有优缺点,可以根据实际情况选择最适合的方法来删除SQL Server中的重复数据。需要注意的是,在操作前最好备份数据以防意外情况发生。
本文详细介绍了如何使用SQL去除表中的重复数据,并提供了一些性能优化的建议。通过这些方法和技术的应用,可以有效地提高数据质量和数据库系统的整体性能。希望这些知识能够帮助你在实际工作中更加高效地处理数据...
在这种方法中,我们首先将重复的记录记入一个临时表temp1,然后将不重复的记录记入另一个临时表temp2,最后删除原表中的重复记录并将temp2中的记录插入回原表。 优点:这种方法可以快速删除重复记录,且对大型...
在数据库中,查询和处理重复数据是一项常见的任务。本文将详细介绍查询和处理重复数据的方法,包括查找所有重复记录、查找重复记录、删除重复记录等。 查找所有重复记录 使用以下 SQL 语句可以查找所有重复记录: ...
在数据库管理过程中,查询重复数据是一项非常重要的任务。这不仅有助于确保数据的准确性和完整性,还可以提高数据分析的质量。本文将详细介绍如何使用SQL语句来查询表中的重复数据,并基于提供的SQL示例进行深入分析...
在SQL中,处理重复数据是常见的数据清洗任务。当我们面对数据表中存在多条相同记录的问题时,需要采取策略来去除这些重复项,确保数据的唯一性和准确性。以下是一些关于如何在SQL中去重的关键知识点: 1. **...
在Oracle或SQL Server等其他数据库系统中,可以使用`MERGE`语句来删除重复数据,或者在创建新表后使用`TRUNCATE`和`RENAME`命令替换原有表。 然而,这种方法可能会遇到问题,比如当表有多个字段时,哪些字段组合...
### SQL删除表里重复数据的两种方法 在数据库管理中,数据的一致性和准确性是非常重要的。重复的数据不仅会占用额外的存储空间,还可能导致查询结果的不准确。因此,掌握如何有效地删除表中的重复记录是每个数据库...
在SQL中删除重复记录是一个常见的需求,特别是在处理大型数据集时。本文将介绍几种有效的方法,以帮助你在遇到重复记录问题时能有效地清理数据。我们将以Oracle数据库为例,但这些方法在其他SQL数据库系统中也具有...
### 如何删除表中重复数据 在数据库管理与维护的过程中,经常会遇到表中存在重复记录的问题,这不仅会造成数据冗余、浪费存储空间,还可能导致数据分析结果失真。因此,了解如何有效地删除表中的重复数据是一项重要...
标题提到的"轻松消除SQL SERVER重复记录"是指在SQL Server环境中高效、便捷地去除数据库表中的重复行。描述中提到的问题是开发人员在查询和统计时可能遇到的挑战,即由于重复记录导致的结果不准确。下面我们将详细...
标题和描述概述的知识点主要集中在SQL语言中处理表内重复数据的方法上,涵盖了查询与删除重复数据的不同场景。下面将详细解析这些知识点: ### 查询表中重复数据 #### 单字段重复数据查询 ```sql SELECT * FROM ...
本文将围绕“SQL删除重复列”的主题,深入探讨如何有效地利用SQL语句来处理表中的重复数据。 #### 一、理解SQL中的重复数据问题 在实际应用中,由于数据录入错误、系统合并等多种原因,数据库表中可能会出现大量的...
标题与描述概述的知识点是关于如何使用SQL语句来删除数据库表中的重复记录,这是一个在数据清理和维护数据完整性时非常实用的技术。以下是对给定文件中四种方法的详细解析和扩展,旨在帮助读者深入理解并掌握这些...
在使用Microsoft Access构建数据库时,有时可能会出现重复的数据,这可能会导致数据不一致性和效率...在使用过程中,理解数据模型、熟悉SQL查询以及掌握Access的高级功能,将使你更加熟练地管理数据库中的重复数据。