知识大全 删除完全重复和部分关键字段重复的记录

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

相关参考

知识大全 oracle删除重复记录方法

  删除重复记录方法实例  假设有一个员工表emp有字段emp_noDELETEFROMEMPE WHEREEROWID>(SELECTMIN(XROWID) FROMEMP

知识大全 有关重复记录地删除(SQLSERVER)

有关重复记录地删除(SQLSERVER)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!以下就重复记

知识大全 Oracle删除重复记录

Oracle删除重复记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  经过测试最高效的一种(万

知识大全 在SQL中删除重复记录(多种方法)

在SQL中删除重复记录(多种方法)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  学习sql有一

知识大全 在SQL Server中快速删除重复记录

在SQLServer中快速删除重复记录  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!lishixi

知识大全 Oracle数据库删除重复记录的方法

Oracle数据库删除重复记录的方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  做项目的时候

知识大全 Oracle数据库删除表中重复记录的常见方法

Oracle数据库删除表中重复记录的常见方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  方法

知识大全 如何删除excel表中的重复数据

如何删除excel表中的重复数据?要具体的数据---筛选---高级筛选----列表区域(选择你要选择的区域)----复制到(选择你要选择的区域)---勾画下面【选择不重复记录】----确定在ORACL

知识大全 电脑上有许多重复的文件,怎么删除重复的文件好

电脑上有许多重复的文件,怎么删除重复的文件好?下载一个“超级兔子清理王”,点击系统垃圾清理项,再点击重复文件,这时你电脑中的所有重复文件都会出来,到时你想删哪个就删哪个,根本不存在设置的问题。电脑重复

知识大全 删除重复字符js代码

  删除重复字符js代码>  <scripttype=text/vbscript>       <!&nb