SQL 重復(fù)記錄問題的處理方法小結(jié)
更新時(shí)間:2010年05月22日 22:58:27 作者:
SQL 重復(fù)記錄問題的處理方法小結(jié),需要的朋友可以參考下。
1、查找重復(fù)記錄
①如果只是不想在查詢結(jié)果中存在重復(fù)記錄, 可以加Distinct
select distinct * from TestTable
②如果是想查詢重復(fù)的記錄及其數(shù)量
select UserID,UserName,count(*) as '記錄數(shù)'
from TestTable
Group by UserID,UserName
having count(*)>1
③ID不重復(fù), 但是字段重復(fù)的記錄只顯示一條
select * from TestTable where UserID in
(select max(UserID) as UserID from TestTable group by UserName,Sex,Place)
2、刪除重復(fù)記錄
①一種思路是利用臨時(shí)表, 把查詢到的無重復(fù)記錄填充到臨時(shí)表, 再把臨時(shí)表的記錄填充回原始表
select distinct * into #Temp from TestTable
drop table TestTable
select * into TestTable from #Temp
drop table #Temp
②刪除ID不重復(fù), 但是字段重復(fù)的記錄(就是按字段查詢出相同字段記錄中最大的ID,然后保留此記錄, 刪除其他記錄).(group by 的字段, 有點(diǎn)麻煩).
delete TestTable where UserID not in
(select max(UserID) as UserID from TestTable group by UserName,Sex,Place)
①如果只是不想在查詢結(jié)果中存在重復(fù)記錄, 可以加Distinct
select distinct * from TestTable
②如果是想查詢重復(fù)的記錄及其數(shù)量
select UserID,UserName,count(*) as '記錄數(shù)'
from TestTable
Group by UserID,UserName
having count(*)>1
③ID不重復(fù), 但是字段重復(fù)的記錄只顯示一條
select * from TestTable where UserID in
(select max(UserID) as UserID from TestTable group by UserName,Sex,Place)
2、刪除重復(fù)記錄
①一種思路是利用臨時(shí)表, 把查詢到的無重復(fù)記錄填充到臨時(shí)表, 再把臨時(shí)表的記錄填充回原始表
select distinct * into #Temp from TestTable
drop table TestTable
select * into TestTable from #Temp
drop table #Temp
②刪除ID不重復(fù), 但是字段重復(fù)的記錄(就是按字段查詢出相同字段記錄中最大的ID,然后保留此記錄, 刪除其他記錄).(group by 的字段, 有點(diǎn)麻煩).
delete TestTable where UserID not in
(select max(UserID) as UserID from TestTable group by UserName,Sex,Place)
相關(guān)文章
編寫SQL需要注意的細(xì)節(jié)Checklist總結(jié)
本周技術(shù)研究部(TRD)的一名DBA 對我們編寫SQL時(shí)的一些問題,進(jìn)行了匯報(bào)講演,以下是來自它的腳本,我在它講演的基礎(chǔ)上寫出了自己想表述的,以便于大家相互交流學(xué)習(xí)2012-08-08SQL實(shí)現(xiàn)模糊查詢的四種方法總結(jié)
本文主要介紹了SQL實(shí)現(xiàn)模糊查詢的四種方法總結(jié),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-07-07如何使用Visual Studio 2010在數(shù)據(jù)庫中生成隨機(jī)測試數(shù)據(jù)
本文主要介紹Visual Studio 2010的Data Generation數(shù)據(jù)生成器的使用方法,需要的朋友可以參考下2014-08-08sql時(shí)間段切分實(shí)現(xiàn)每隔x分鐘出一份高速門架車流量
本文主要介紹了sql時(shí)間段切分實(shí)現(xiàn)每隔x分鐘出一份高速門架車流量,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02大容量csv快速內(nèi)導(dǎo)入sqlserver的解決方法(推薦)
最近遇到這樣的問題:導(dǎo)入csv 數(shù)據(jù),并對導(dǎo)入的數(shù)據(jù)增加一個(gè)新的列date datetime,下面通過本文給大家分享大容量csv快速內(nèi)導(dǎo)入sqlserver的解決方法,感興趣的朋友一起看看吧2017-07-07SQL where條件和jion on條件的詳解及區(qū)別
這篇文章主要介紹了SQL where條件和jion on條件的詳解及區(qū)別的相關(guān)資料,這里舉例說明該如何區(qū)分,需要的朋友可以參考下2016-12-12深入SQL Server 跨數(shù)據(jù)庫查詢的詳解
本篇文章是對SQL Server中的跨數(shù)據(jù)庫查詢進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06SQL?Server數(shù)據(jù)庫數(shù)據(jù)文件的遷移步驟
最近有朋友問我如何將一臺電腦中的SQL Server數(shù)據(jù)庫數(shù)據(jù)文件遷移到另一臺電腦上,在這給大家分享SQL?Server數(shù)據(jù)庫數(shù)據(jù)文件的遷移步驟,感興趣的朋友一起看看吧2024-03-03