在使用SQL Server过程中,难免会碰到了删除冗余数据的问题。本文将为您介绍SQL删除冗余数据的方法,供您参考,希望对您有所帮助。

在使用SQL Server过程中,难免会碰到了删除冗余数据的问题。本文将为您介绍SQL删除冗余数据的方法,供您参考,希望对您有所帮助。

第一种,数据全部重复,如下图:

SQL删除冗余数据的问题(sql语句删除冗余数据)  SQL 删除 数据 第1张

需要得到以下的结果:

SQL删除冗余数据的问题(sql语句删除冗余数据)  SQL 删除 数据 第2张

删除重复的记录(重复记录保留1条),可以按以下方法删除
seleet distinct * into #Tmp from TableName

drop table TableName

select * into TableName from #Tmp

drop table #Tmp

第二种,数据部分字段重复,ID不重复 ,如下图:

SQL删除冗余数据的问题(sql语句删除冗余数据)  SQL 删除 数据 第3张

需要得到以下结果:

SQL删除冗余数据的问题(sql语句删除冗余数据)  SQL 删除 数据 第4张

下面的语句可以达到要求:

delete 表 where id not in(
SELECT MAX(id) AS id FROM 表 GROUP BY rows) --- 删除重复行

select * from 表 where id in(
SELECT MAX(id) AS id FROM 表 GROUP BY rows) --重复行只查询一条

转载请说明出处
知优网 » SQL删除冗余数据的问题(sql语句删除冗余数据)

发表评论

您需要后才能发表评论