日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產(chǎn)品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SQLServer重復數(shù)據(jù)刪除的2個方案

文章主要描述的是對SQL Server重復數(shù)據(jù)進行刪除的2個實際操作方案,在實際操作中SQL Server使用過程中,有時會因為程序方面的一些問題,有的時候我們遇到重復數(shù)據(jù)這一情況,重復數(shù)據(jù)導致了數(shù)據(jù)庫部分設置不能正確設置……

成都創(chuàng)新互聯(lián)公司于2013年成立,先為雙清等服務建站,雙清等地企業(yè),進行企業(yè)商務咨詢服務。為雙清企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。

刪除SQL Server重復數(shù)據(jù)方法一

 
 
 
  1. declare @max integer,@id integer  
  2. declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1  
  3. open cur_rows  
  4. fetch cur_rows into @id,@max  
  5. while @@fetch_status=0 
  6. begin  
  7. select @max = @max -1  
  8. set rowcount @max  
  9. delete from 表名 where 主字段 = @id  
  10. fetch cur_rows into @id,@max  
  11. end  
  12. close cur_rows  
  13. set rowcount 0 

刪除SQL Server重復數(shù)據(jù)方法二

有兩個意義上的重復記錄:

一是完全重復的記錄,也即所有字段均重復的記錄,

二是部分關鍵字段重復的記錄,比如Name字段重復,而其他字段不一定重復或都重復可以忽略。

A、對于第一種重復,比較容易解決,使用

 
 
 
  1. select distinct * from tableName 

就可以得到無重復記錄的結果集。

如果該表需要刪除重復的記錄(重復記錄保留1條),可以按以下方法刪除

 
 
 
  1. select distinct * into #Tmp from tableName  
  2. drop table tableName  
  3. select * into tableName from #Tmp  
  4. drop table #Tmp 

發(fā)生這種重復的原因是表設計不周產(chǎn)生的,增加唯一索引列即可解決。

B、這類重復問題通常要求保留重復記錄中的第一條記錄,操作方法如下

假設有重復的字段為Name,Address,要求得到這兩個字段唯一的結果集

 
 
 
  1. select identity(int,1,1) as autoID, * into #Tmp from tableName  
  2. select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID  
  3. select * from #Tmp where autoID in(select autoID from #tmp2) 

最后一個select即得到了Name,Address不重復的結果集(但多了一個autoID字段,實際寫時可以寫在select子句中省去此列)

以上的相關內(nèi)容就是對刪除SQL Server重復數(shù)據(jù)的2個方法的介紹,望你能有所收獲。


標題名稱:SQLServer重復數(shù)據(jù)刪除的2個方案
瀏覽路徑:http://www.5511xx.com/article/ccspcdp.html