SQL重複記錄處理(查找,過濾,刪除)




= * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = *

作 者: 我本有心

 QQ: 381584252

E-Mail: [email protected]

轉載請註明出處及作者!

版權所有,侵權必究!!! 

 http://www.8848so.com,人物搜索,8848So

 = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = * = = *

注:此處“重複”非完全重複,意爲某字段數據重複 

 

HZT表結構

ID              int

Title          nvarchar(50)

AddDate  datetime

數據

 ID  Title  AddDate
 1  我本有心1  2008-01-17 10:27:24.827
 2  我本有心1  2008-03-17 10:27:21.780
 3  我本有心2  2008-05-17 10:27:30.420
 4  我本有心2  2008-09-17 10:27:30.420
 5  我本有心3  2008-01-20 10:27:30.420
 6  我本有心3  2008-01-15 10:27:30.420
 7  QQ:381584252  2008-01-19 10:27:30.420
 8  QQ:381584252  2008-01-18 10:27:30.420
 9  Email:[email protected]  2001-01-17 10:27:30.420
 10  Email:[email protected]  2009-01-17 10:27:30.420
 11  HZT  2005-01-17 10:27:30.420
 12  1314521  2006-01-17 10:27:30.420
 13  LoveCY  2007-01-17 10:27:30.420
 14  19861108  2008-03-17 10:27:30.420
 15  CY  2008-02-17 10:27:30.420



























一。查找重複記錄

1。查找全部重複記錄

Select * From 表 Where 重複字段 In (Select 重複字段 From 表 Group By 重複字段 Having Count(*)>1)

2。過濾重複記錄(只顯示一條)

Select * From HZT Where ID In (Select Max(ID) From HZT Group By Title)

 注:此處顯示ID最大一條記錄

二。刪除重複記錄

 1。刪除全部重複記錄(慎用)

 Delete 表 Where 重複字段 In (Select 重複字段 From 表 Group By 重複字段 Having Count(*)>1)

2。保留一條(這個應該是大多數人所需要的 ^_^)

 Delete HZT Where ID Not In (Select Max(ID) From HZT Group By Title)

 注:此處保留ID最大一條記錄

發佈了30 篇原創文章 · 獲贊 5 · 訪問量 9萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章