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

SQL Server重復(fù)數(shù)據(jù)刪除的實(shí)現(xiàn)方案列舉

數(shù)據(jù)庫(kù) SQL Server
我們今天是要和大家一起討論的是正確實(shí)現(xiàn)SQL Server重復(fù)數(shù)據(jù)刪除的正確操作方法,以下就是對(duì)其實(shí)際操作方案的具體描述。

此文主要向大家講述的是正確實(shí)現(xiàn)SQL Server重復(fù)數(shù)據(jù)刪除的正確操作方法,在實(shí)際操作中實(shí)現(xiàn)SQL Server重復(fù)數(shù)據(jù)的刪除可以使用以下的2個(gè)方案,SQL Server數(shù)據(jù)庫(kù)在實(shí)際使用的過(guò)程中因?yàn)槌绦蚍矫娴膯?wèn)題……

以下的文章主要描述的是SQL Server重復(fù)數(shù)據(jù)的刪除2個(gè)比較好用的方案,SQL Server數(shù)據(jù)庫(kù)在實(shí)際使用的過(guò)程中因?yàn)槌绦蚍矫娴膯?wèn)題,有的時(shí)候會(huì)碰到SQL Server重復(fù)數(shù)據(jù),重復(fù)數(shù)據(jù)導(dǎo)致了數(shù)據(jù)庫(kù)部分設(shè)置不能正確設(shè)置……

 

實(shí)現(xiàn)SQL Server重復(fù)數(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  

實(shí)現(xiàn)SQL Server重復(fù)數(shù)據(jù)刪除的方法方法二

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

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

以下是代碼片段:

 

  1. select distinct * from tableName  

就可以得到無(wú)重復(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è)計(jì)不周產(chǎn)生的,增加唯一索引列即可解決。

 

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

假設(shè)有重復(fù)的字段為Name,Address,要求得到這兩個(gè)字段唯一的結(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)  

最后一個(gè)select即得到了Name,Address不重復(fù)的結(jié)果集(但多了一個(gè)autoID字段,實(shí)際寫時(shí)可以寫在select子句中省去此列)以上的相關(guān)內(nèi)容就是對(duì)SQL Server重復(fù)數(shù)據(jù)的刪除2個(gè)方法的介紹,望你能有所收獲。

 

以上的相關(guān)內(nèi)容就是對(duì)實(shí)現(xiàn)SQL Server重復(fù)數(shù)據(jù)刪除的方法的介紹,望你能有所收獲。

【編輯推薦】

  1. SQL Server數(shù)據(jù)庫(kù)相關(guān)數(shù)據(jù)大匯和
  2. SQL Server刪除重復(fù)數(shù)據(jù)的2個(gè)實(shí)用方案
  3. 用SQL Server 2005DDL觸發(fā)器對(duì)數(shù)據(jù)庫(kù)進(jìn)行監(jiān)控
  4. 快速對(duì)SQL Server鎖機(jī)制進(jìn)行掌握的竅門
  5. SQL Server存儲(chǔ)圖像數(shù)據(jù)大閱兵
責(zé)任編輯:佚名 來(lái)源: 51CTO綜合
相關(guān)推薦

2010-07-07 16:53:54

SQL Server重

2010-07-08 13:06:05

SQL Server刪

2010-07-21 11:38:59

SQL Server重

2010-07-23 15:09:42

SQL Server刪

2010-07-23 16:21:37

SQL Server重

2010-07-08 13:20:05

SQL Server刪

2010-07-26 14:58:26

SQL Server刪

2014-03-06 10:52:57

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

2010-07-01 12:29:27

SQL Server重

2021-11-30 10:00:01

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

2010-04-28 10:13:37

Oracle刪除重復(fù)數(shù)

2015-10-23 16:40:21

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

2010-11-03 13:50:49

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

2010-07-14 10:24:25

SQL Server獲

2011-08-04 12:49:31

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

2011-04-13 13:05:14

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

2024-06-17 07:41:43

2009-01-12 12:16:34

重復(fù)數(shù)據(jù)刪除選購(gòu)方案

2009-06-16 15:11:53

戴爾存儲(chǔ)數(shù)據(jù)

2011-04-13 13:13:09

重復(fù)數(shù)據(jù)刪除
點(diǎn)贊
收藏

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