狠狠色丁香婷婷综合尤物/久久精品综合一区二区三区/中国有色金属学报/国产日韩欧美在线观看 - 国产一区二区三区四区五区tv

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

[點晴永久免費OA]SQL Server刪除重復行的6個方法

admin
2019年3月14日 11:58 本文熱度 3145

SQL Server刪除重復行是我們最常見的操作之一,下面就為您介紹六種適合不同情況的SQL Server刪除重復行的方法,供您參考。

1、如果有ID字段,就是具有唯一性的字段:

delete from tableName where id not in ( select max(id) from table group by col1,col2,col3... )

group by 子句后跟的字段就是你用來判斷重復的條件,如只有col1,那么只要col1字段內容相同即表示記錄相同。


2、如果是判斷所有字段也可以這樣【對于表中的指定的字段的進行檢查是否相同】:

select * into #temp from tablename group by id1,id2,....

delete tablename

insert into table select * from #temp

drop table #temp


3、首先去重復,再獲取N*1條數據插入到臨時表中【對于表中的所有字段的進行檢查是否相同】,再將原表的數據刪除,然后將臨時表的數據插入到原表,最后刪除臨時表。

select distinct * into #temp from tablename

delete tablename

go

insert tablename select * from #temp

go

drop table #temp


4、沒有ID的情況:

select identity(int,1,1) as id,* into #temp from tabel

delete # where id not in (

select max(id) from # group by col1,col2,col3...)

delete from table

insert into table(...)

select ..... from #temp


5、col1+'',''+col2+'',''...col5 聯合主鍵:

select * from table where col1+'',''+col2+'',''...col5 in (

select max(col1+'',''+col2+'',''...col5) from table

where having count(*)>1

group by col1,col2,col3,col4

)

group by 子句后跟的字段就是你用來判斷重復的條件,如只有col1,那么只要col1字段內容相同即表示記錄相同。


6、

select identity(int,1,1) as id,* into #temp from tabel

select * from #temp where id in (

select max(id) from #emp where having count(*)>1 group by col1,col2,col3...)


該文章在 2019/3/14 12:02:41 編輯過
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved