码迷,mamicode.com
首页 > 数据库 > 详细

T-SQL去除重复行

时间:2020-03-26 12:07:25      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:str   varchar   http   --   tps   ber   bbs   select   ref   

 

例子:

CREATE TABLE [dbo].[testDT](
	[bh] [varchar](50) NULL,
	[name] [varchar](50) NULL,
	[gender] [int] NULL,
	[email] [varchar](50) NULL
) 
测试数据:
12 li 1 122@qq.com 12 li 1 133@qq.com 15 wang 0 33@qq.com 13 zhang 1 22@qq.com 13 zhang 1 22@qq.com 

思路:

1. distinct筛选出来, 使用temp表来回倒。

2. 使用row_number() partition by 方法。如果重复行row_number会出现多个,例如1,2,3,删除row_number>1的行。

--sql 2005
select bh , name , sex , email from
(
  select t.* , row_number() over(partition by bh order by name , sex , email) px from testdt t
) m
where px = 1

3. group by 方法,其实相当于partition by的方法。

 

ref:https://bbs.csdn.net/topics/380198980?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task

T-SQL去除重复行

标签:str   varchar   http   --   tps   ber   bbs   select   ref   

原文地址:https://www.cnblogs.com/watermarks/p/12573252.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!