删除重复行

2018-03-13 16:07:53 jazdbmin1639整理 删除重复行 删除重复行

如何删除重复的行

Q1: sql中删除重复数据

SQL Server删除重复行是我们最常见的操作之一,下面就为您介绍六种适合不同情况的SQL Server删除重复行的方法,供您参考。
1.如果有ID字段,就是具有唯一性的字段
delecttablewhereidnotin(

selectmax(id)fromtablegroupbycol1,col2,col3...
)
groupby子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。
2. 如果是判断所有字段也可以这样
select*into#aafromtablegroupbyid1,id2,....
deletetable
insertintotable
select*from#aa
3. 没有ID的情况
selectidentity(int,1,1)asid,*into#tempfromtabel
delect#whereidnotin(
selectmax(id)from#groupbycol1,col2,col3...)
delecttable
insetintotable(...)
select.....from#temp
4. col1+','+col2+','...col5 联合主键
select*fromtablewherecol1+','+col2+','...col5in(
selectmax(col1+','+col2+','...col5)fromtable
wherehavingcount(*)>1
groupbycol1,col2,col3,col4
)
groupby子句后跟的字段就是你用来判断重复的条件,如只有col1,那么只要col1字段内容相同即表示记录相同。
5.
selectidentity(int,1,1)asid,*into#tempfromtabel
select*from#tempwhereidin(
selectmax(id)from#empwherehavingcount(*)>1groupbycol1,col2,col3...)
6.
selectdistinct*into#tempfromtablename
deletetablename
go
inserttablenameselect*from#tempSqlclub
go
droptable#temp
以上就是SQL Server删除重复行的方法介绍。

Q2: sql数据库中出现重复行数据,如何删除这些重复记录?

示例

假设存在一个产品信息表Products,其表结构如下:

123456CREATETABLEProducts(ProductIDint,ProductNamenvarchar(40),Unitchar(2),UnitPricemoney)

表中数据如图:

 sql数据库中出现重复行数据,如何删除这些重复记录?

图中可以看出,产品Chang和Tofu的记录在产品信息表中存在重复。现在要删除这些重复的记录,只保留其中的一条。步骤如下:

第一步――建立一张具有相同结构的临时表

123456CREATETABLEProducts_temp(ProductIDint,ProductNamenvarchar(40),Unitchar(2),UnitPricemoney)

第二步――为该表加上索引,并使其忽略重复的值

方法是在企业管理器中找到上面建立的临时表Products _temp,单击鼠标右键,选择所有任务,选择管理索引,选择新建。如图2所示。

 sql数据库中出现重复行数据,如何删除这些重复记录?

按照图2中圈出来的地方设置索引选项

第三步――拷贝产品信息到临时表

1insertintoProducts_tempSelect*fromProducts

此时SQL Server会返回如下提示:

服务器: 消息 3604,级别 16,状态 1,行 1

已忽略重复的键。

它表明在产品信息临时表Products_temp中不会有重复的行出现。

第四步――将新的数据导入原表

将原产品信息表Products清空,并将临时表Products_temp中数据导入,最后删除临时表Products_temp。

1deleteProductsinsertintoProductsselect*fromProducts_tempdroptableProducts_temp

这样就完成了对表中重复记录的删除。无论表有多大,它的执行速度都是相当快的,而且因为几乎不用写语句,所以它也是很安全的

Q3: excel中想删除所有的重复内容的整行

如果是EXCEL2010,有删除重复数据功能。把要比较的几列选中,再选这个功能即可。它会问数据范围。在data功能下。叫:removeduplicates

 excel中想删除所有的重复内容的整行

小提示:内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。

删除重复行 推荐文章:
推荐不满意?点这里  ››  

删除重复行