刪除數據庫中重複數據的技巧
數據庫的使用過程中由於程序方面的問題有時候會碰到重複數據,重複數據導致了數據庫部分設置不能正確設置……
方法一
declare @max integer,@id integer
declare cur_rows cursor local for select 主字段,count(*) from 表名 group by 主字段 having count(*) > 1
open cur_rows
fetch cur_rows into @id,@max
while @@fetch_status=0
begin
select @max = @max -1
set rowcount @max
from 表名 where 主字段 = @id
fetch cur_rows into @id,@max
end
close cur_rows
set rowcount 0
方法二
有兩個意義上的重複記錄,一是完全重複的記錄,也即所有字段均重複的記錄,二是部分關鍵字段重複的記錄,比如Name字段重複,而其他字段不一定重複或都重複可以忽略。
1、對於第一種重複,比較容易解決,使用
select distinct * from tableName
就可以得到無重複記錄的結果集。
如果該表需要刪除重複的記錄(重複記錄保留1條),可以按以下方法刪除
select distinct * into #Tmp from tableName
tableName
select * into tableName from #Tmp
#Tmp
發生這種重複的原因是表設計不周產生的`,增加唯一索引列即可解決。
2、這類重複問題通常要求保留重複記錄中的第一條記錄,操作方法如下
假設有重複的字段爲Name,Address,要求得到這兩個字段唯一的結果集
select identity(int,1,1) as autoID, * into #Tmp from tableName
select min(autoID) as autoID into #Tmp2 from #Tmp group by Name,autoID
select * from #Tmp where autoID in(select autoID from #tmp2)
最後一個select即得到了Name,Address不重複的結果集(但多了一個autoID字段,實際寫時可以寫在select子句中省去此列)
-
系統集成公司崗位職責
精通網絡平臺設計,服務器平臺設計,基礎應用平臺設計或其中之一。以下內容是小編爲您精心整理的系統集成公司崗位職責,歡迎參考!系統集成公司崗位職責1.通常計算機以及網絡基礎理論,熟悉網絡技術系統基礎。2.精通網絡設備調試技術,服務器調試技術,基礎應用平臺調試技術...
-
系統工程可行性分析報告2017
分析報告是一種比較常用的文體。有市場分析報告、行業分析報告、經濟形勢分析報告、社會問題分析報告等等。下面是小編整理的系統工程可行性分析報告,歡迎來參考!1、引言1、1編寫目的隨着房地產的發展,房價也隨之越來越高;且隨着經濟的發展,外出務工的人員的流動性...
-
房屋租賃管理系統論文
房屋租賃管理系統是一款針對房屋出租行業開發的專業化管理軟件,大家對它瞭解有多少?會怎麼寫關於它的論文?接下來小編爲大家推薦的是房屋租賃管理系統論文,僅供參考。[摘要]21世紀隨着互聯網技術的迅猛發展,使越來越多的商業活動都從傳統的現實社會中發展到了網絡上...
-
數據庫期末考試答案
下面是小編整理的數據庫期末考試答案,希望能幫助到大家!一、選擇題(每題1分,共20分)1.在數據管理技術的發展過程中,經歷了人工管理階段、文件系統階段和數據庫系統階段。在這幾個階段中,數據獨立性最高的是(A)階段。A.數據庫系統B.文件系統C.人工管理D.數據項管理2.數據庫...