知识大全 删除完全重复和部分关键字段重复的记录
Posted 知
篇首语:蹉跎莫遣韶光老,人生唯有读书好。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 删除完全重复和部分关键字段重复的记录相关的知识,希望对你有一定的参考价值。
重复记录分为两种 第一种是完全重复的记录 也就是所有字段均重复的记录 第二种是部分关键字段重复的记录 例如Name字段重复 而其它字段不一定重复或都重复
第一种重复很容易解决 不同数据库环境下方法相似
Mysql create table tmp select distinct * from tableName; drop table tableName; create table tableName select * from tmp; drop table tmp; SQL Server select distinct * into #Tmp from tableName; drop table tableName; select * into tableName from #Tmp; drop table #Tmp; Oracle create table tmp as select distinct * from tableName; drop table tableName; create table tableName as select * from tmp; drop table tmp;
发生这种重复的原因是由于表设计不周而产生的 增加唯一索引列就可以解决此问题
此类重复问题通常要求保留重复记录中的第一条记录 操作方法如下 假设有重复的字段为Name Address 要求得到这两个字段唯一的结果集
Mysql alter table tableName add autoID int auto_increment not null; create table tmp select min(autoID) as autoID from tableName group by Name Address; create table tmp select tableName * from tableName tmp where tableName autoID = tmp autoID; drop table tableName; rename table tmp to tableName; SQL Server select identity(int ) as autoID * into #Tmp from tableName; select min(autoID) as autoID into #Tmp from #Tmp group by Name Address; drop table tableName; select * into tableName from #Tmp where autoID in(select autoID from #Tmp ); drop table #Tmp; drop table #Tmp ; Oracle DELETE FROM tableName t WHERE t ROWID > (SELECT MIN(t ROWID) FROM tableName t WHERE t Name = t Name and t Address = t Address);
说明
MySQL和SQL Server中最后一个select得到了Name Address不重复的结果集(多了一个autoID字段 在大家实际写时可以写在select子句中省去此列)
cha138/Article/program/SQL/201311/16259相关参考
删除重复记录方法实例 假设有一个员工表emp有字段emp_noDELETEFROMEMPE WHEREEROWID>(SELECTMIN(XROWID) FROMEMP
有关重复记录地删除(SQLSERVER) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下就重复记
Oracle删除重复记录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 经过测试最高效的一种(万
在SQL中删除重复记录(多种方法) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 学习sql有一
在SQLServer中快速删除重复记录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixi
Oracle数据库删除重复记录的方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 做项目的时候
Oracle数据库删除表中重复记录的常见方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 方法
如何删除excel表中的重复数据?要具体的数据---筛选---高级筛选----列表区域(选择你要选择的区域)----复制到(选择你要选择的区域)---勾画下面【选择不重复记录】----确定在ORACL
电脑上有许多重复的文件,怎么删除重复的文件好?下载一个“超级兔子清理王”,点击系统垃圾清理项,再点击重复文件,这时你电脑中的所有重复文件都会出来,到时你想删哪个就删哪个,根本不存在设置的问题。电脑重复
删除重复字符js代码> <scripttype=text/vbscript> <!&nb