自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

如何實現(xiàn)SQL Server重復(fù)數(shù)據(jù)的刪除?

數(shù)據(jù)庫 SQL Server
以下的文章主要是介紹SQL Server重復(fù)數(shù)據(jù)的刪除2個比較好用的方案,本文主要是以列舉其相關(guān)實際應(yīng)用代碼的方式來引出其實際操作。

以下的文章主要描述的是SQL Server重復(fù)數(shù)據(jù)的刪除2個比較好用的方案,SQL Server數(shù)據(jù)庫在實際使用的過程中因為程序方面的問題,有的時候會碰到SQL Server重復(fù)數(shù)據(jù),重復(fù)數(shù)據(jù)導(dǎo)致了數(shù)據(jù)庫部分設(shè)置不能正確設(shè)置……

方法一

 

  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  

 

方法二

 

有兩個意義上的重復(fù)記錄,一是完全重復(fù)的記錄,也即所有字段均重復(fù)的記錄,二是部分關(guān)鍵字段重復(fù)的記錄,比如Name字段重復(fù),而其他字段不一定重復(fù)或都重復(fù)可以忽略。

 

1、對于第一種重復(fù),比較容易解決,使用

 

  1. select distinct * from tableName  

就可以得到無重復(fù)記錄的結(jié)果集。

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

 

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

 

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

 

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

 

假設(shè)有重復(fù)的字段為Name,Address,要求得到這兩個字段唯一的結(jié)果集

 

  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不重復(fù)的結(jié)果集(但多了一個autoID字段,實際寫時可以寫在select子句中省去此列)以上的相關(guān)內(nèi)容就是對SQL Server重復(fù)數(shù)據(jù)的刪除2個方法的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server日志清除的好用方案
  2. SQL Server 2005安全性的表現(xiàn)
  3. 升級SQL Server數(shù)據(jù)庫系統(tǒng)并不難!
  4. SQL Server 2005分析服務(wù)的4大部分
  5. 對SQL Server 2008四項新特性的描述
責(zé)任編輯:佚名 來源: 51CTO.com
相關(guān)推薦

2010-07-26 09:55:55

SQL Server重

2010-07-08 13:06:05

SQL Server刪

2010-07-21 11:38:59

SQL Server重

2010-07-26 14:58:26

SQL Server刪

2010-07-23 16:21:37

SQL Server重

2010-07-01 12:29:27

SQL Server重

2010-07-23 15:09:42

SQL Server刪

2021-11-30 10:00:01

SQL數(shù)據(jù)重復(fù)

2011-04-13 13:13:09

重復(fù)數(shù)據(jù)刪除

2010-07-08 13:20:05

SQL Server刪

2015-10-23 16:40:21

DB2刪除數(shù)據(jù)

2010-11-03 13:50:49

DB2刪除重復(fù)數(shù)據(jù)

2023-02-26 23:31:01

SQL數(shù)據(jù)庫

2010-07-14 10:24:25

SQL Server獲

2014-03-06 10:52:57

Windows Ser重復(fù)數(shù)據(jù)

2011-08-04 12:49:31

SQL Server數(shù)重復(fù)數(shù)據(jù)

2011-04-13 13:05:14

重復(fù)數(shù)據(jù)刪除

2024-10-16 17:04:13

2010-09-02 10:36:51

SQL刪除

2009-01-11 17:32:03

Oracle數(shù)據(jù)庫重復(fù)數(shù)據(jù)
點贊
收藏

51CTO技術(shù)棧公眾號