關於SQL的重複記錄問題
1、查詢重複記錄
①如果只是不想在查詢結果中存在重複記錄, 可以加Distinct
select distinct * from TestTable
②如果是想查詢重複的記錄及其數量
select UserID,UserName,count(*) as '記錄數'
from TestTable
Group by UserID,UserName
having count(*)>1
③ID不重複, 但是欄位重複的記錄只顯示一條
select * from TestTable where UserID in
(select max(UserID) as UserID from TestTable group by UserName,Sex,Place)
2、刪除重複記錄
①一種思路是利用臨時表, 把查詢到的無重複記錄填充到臨時表, 再把臨時表的記錄填充回原始表
select distinct * into #Temp from TestTable
drop table TestTable
select * into TestTable from #Temp
drop table #Temp
②刪除ID不重複, 但是欄位重複的記錄(就是按欄位查詢出相同欄位記錄中最大的ID,然後保留此記錄, 刪除其他記錄).(group by 的欄位, 有點麻煩).
delete TestTable where UserID not in
(select max(UserID) as UserID from TestTable group by UserName,Sex,Place)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/16436858/viewspace-663214/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- SQL重複記錄查詢SQL
- sql重複插入問題SQL
- 用SQL語句去掉重複的記錄SQL
- db2中刪除重複記錄的問題DB2
- 經典SQL面試題4:高效的刪除重複記錄方法SQL面試題
- 關於ListView的getView方法被多次重複呼叫的問題View
- 關於倒資料的速度記錄問題
- Oracle 刪除表中重複記錄的DELETE SQLOracledeleteSQL
- 標準SQL寫法的重複列問題SQL
- 關於SQL Server的記憶體佔用問題SQLServer記憶體
- sql刪除重複記錄只保留一條SQL
- 使用SQL語句去掉重複記錄的兩種方法SQL
- 關於GIT push的時候要重複輸入密碼的問題Git密碼
- SQL Server 批量刪除重複記錄(批量、快速、安全)SQLServer
- 在SQL Server中快速刪除重複記錄(轉)SQLServer
- Oracle刪重複記錄Oracle
- 關於webpack問答記錄...Web
- 用SQL語句刪除重複記錄的四種方法SQL
- Oracle 查詢重複記錄,以及簡單的sql應用。OracleSQL
- Oracle 查詢並刪除重複記錄的SQL語句OracleSQL
- 刪除重複id的記錄
- 利用sql語句找出表中有重複記錄的三種sql寫法SQL
- 關於使用雲伺服器遇到的問題記錄(一)伺服器
- 關於redo log 檔案中記錄的內容問題 ?
- 關於資料庫表記錄主鍵生成的問題?資料庫
- sql根據多個欄位查詢重複記錄SQL
- 【開發問題記錄①】關於滑動CollectionView時ContentSize變化的問題View
- 刪除Oracle重複記錄Oracle
- oracle刪除重複記錄Oracle
- Spring相關問題記錄Spring
- 有重複元素的排列問題
- db2刪除重複的記錄DB2
- oracle-快速刪除重複的記錄Oracle
- Oracle查詢重複資料與刪除重複記錄Oracle
- 備忘錄--關於硬碟掛載的問題硬碟
- 關於sql語句的遊標共享問題SQL
- 忽視細節導致簡單問題的複雜化 關於PUPBLD.SQLSQL
- Laravel佇列相關問題記錄Laravel佇列