本文主要介绍了结构化查询语言去除重复记录的七种方法。具有很好的参考价值,下面跟着小编一起来看下吧
话不多说,请看代码:
如果不是object_id(Tempdb.#T )为空
删除表#T
去
创建表#T([ID] int,[Name] nvarchar(1),[Memo] nvarchar(2))
插入#T
select 1,NA ,NA1 union all
选择2,NA ,NA2 联合所有
选择3,不适用,不适用联合所有
选择4,NB ,NB1 联合所有
选择5,NB ,NB2
去
-我、姓名相同身份证明最小的记录(推荐用1,2,3),保留最小一条
方法1:
从存在的#T a中删除一个(从#T中选择1,其中名称=a .名称和艾达.ID)
方法2:
在a .姓名=b .姓名和a.ID=b.ID(其中b .身份证为空)上从#T a左连接(从#T按名称分组中选择最小(ID)ID,名称)b中删除a
方法3:
从#T a中删除一,其中身份证明不在(从#T中选择最小(ID),其中Name=a.Name)
方法4(注:ID为唯一时可用):
从身份证明不在的#T a中删除一个(按名称从#T组中选择最小(ID))
方法5:
从#T a哪里中删除一个(从#T其中Name=a.Name和艾达山中选择计数(1).ID)0
方法6:
从#T a where ID中删除一个(从#T其中Name=a.name按ID排序中选择前一个ID)
方法7:
从#T a我在哪里中删除一个(从#T其中Name=a.Name中选择ID)
select * from #T
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持我们!