摘要: 下文將分享三種不同的數據去重方法數據去重:需根據某一欄位來界定,當此欄位出現大於一行記錄時,我們就界定為此行數據存在重覆。 數據去重方法1: 當表中最在最大流水號時候,我們可以通過關聯的方式為每條重覆的記錄獲取唯一值數據去重方法2:為表中記錄,按照指定欄位進行群組,並獲取最大流水號,然後再進 ...
摘要:
下文將分享三種不同的數據去重方法
數據去重:需根據某一欄位來界定,當此欄位出現大於一行記錄時,我們就界定為此行數據存在重覆。
數據去重方法1:
當表中最在最大流水號時候,我們可以通過關聯的方式為每條重覆的記錄獲取唯一值
數據去重方法2:
為表中記錄,按照指定欄位進行群組,並獲取最大流水號,然後再進行去重操作
數據去重方法3:
採用分組後,重覆數據組內排名,如果排名大於1代表是重覆數據行數據
三種去重方法效率對比:
方法3 > 方法2 > 方法1
create table test(keyId int identity,sort varchar(10), info varchar(20)) go ---方法1 truncate table test ; insert into test(sort,info)values('A','maomao365.com')--1 insert into test(sort,info)values('A','貓貓小屋') --2 insert into test(sort,info)values('B','mssql_blog') --3 insert into test(sort,info)values('B','優秀的sql——blog') --4 insert into test(sort,info)values('B','maomao365') --5 insert into test(sort,info)values('C','sql優化blog') --6 go delete from test where test.keyId = (select max(b.keyId) from test b where test.sort=b.sort); select * from test ---方法2: truncate table test ; insert into test(sort,info)values('A','maomao365.com') insert into test(sort,info)values('A','貓貓小屋') insert into test(sort,info)values('B','mssql_blog') insert into test(sort,info)values('B','優秀的sql——blog') insert into test(sort,info)values('B','maomao365') insert into test(sort,info)values('C','sql優化blog') go delete from test where keyid not in(select min(keyId) from test group by sort having count(sort)>=1); select * from test ---方法3: truncate table test ; insert into test(sort,info)values('A','maomao365.com') insert into test(sort,info)values('A','貓貓小屋') insert into test(sort,info)values('B','mssql_blog') insert into test(sort,info)values('B','優秀的sql——blog') insert into test(sort,info)values('B','maomao365') insert into test(sort,info)values('C','sql優化blog') go delete A2 from ( select row_Number() over(partition by sort order by keyid) as keyId_e,* from test ) as A2 where A2.keyId_e >1 select * from test go drop table test
<img src="http://www.maomao365.com/wp-content/uploads/2018/07/mssql_sqlserver_數據表數據去重的三種方法分享.png" alt="mssql_sqlserver_數據表數據去重的三種方法分享" width="813" height="749" class="size-full wp-image-6767" />
轉自:http://www.maomao365.com/?p=6766