1.表结构即数据:表没有Id标识字段。如今咱们要删除N1字段的重复记录的操做:看步骤2,3测试
2.在没有标识字段时咱们要给表新增一个标识字段,(固然你在设计的时候能够加上Id标识字段,我这里是测试无标识字段的状况下)spa
---先给表新增id字段并赋值 ALTER TABLE dbo.Test ADD id INT GO DECLARE @id INT SET @id = 0 UPDATE [Test] SET @id = rowid = @id + 1
3.给表添加标识字段后就开始删除重复字段的记录设计
---再删除重复的字段 delete from [Caipiao].[dbo].[Test] where Id NOT IN (Select MIN(RowId) From [Test] Group By N1 Having Count(*)>1 --取重复里的最小的RowId记录 UNION Select MIN(RowId) From [Test] Group By N1 Having Count(*)=1)--取非重复的RowId记录
该思路是:取除重复记录里最小的那个RowId(RowId是该表的标识字段)和非重复记录里的RowId的并集,而后咱们删除非并集下的RowId记录,如此就删除掉了重复记录的值code
具体参考:www.deriva.cn/technologyblog