SQL 語句刪除access重覆記錄語句

2021-06-21 16:35:23 字數 828 閱讀 2637

有兩個意義上的重覆記錄,一是完全重複的記錄,也即所有欄位均重複的記錄,二是部分關鍵字段重複的記錄,比如name欄位重複,而其他欄位不一定重複或都重複可以忽略。

1、對於第一種重複,比較容易解決,使用

select distinct * from tablename

就可以得到無重覆記錄的結果集。

如果該錶需要刪除重複的記錄(重覆記錄保留1條),可以按以下方法刪除

複製** **如下:

select distinct * into #tmp from tablename

drop table tablename

select * into tablename from #tmp

drop table #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子句中省去此列)

sql 刪除重複資料語句

現在有表資料如下圖1 需要刪除表中除id外重複的資料,實現如下圖所示效果圖2 篩選根據name,value分組後id最大的非重複資料 select max id from deleterepeat group by name value 下面是實現效果圖2 的語句 delete from delet...

通過SQL語句刪除重覆記錄

最近在專案裡碰到很多重覆記錄的事情,因為是設計業務裡的具體數值,所以不敢輕易全部刪除,資料量也很大,所以就倒騰了點 在sql裡進行刪除 純屬菜鳥,還望高手指教啊 1 建立臨時表23 ifexists select from tempdb.dbo.sysobjects whereid object i...

ACCESS中用SQL語句建立表,修改,刪除表

1.建立表 create table t test id counter 1,1 primary key,u name varchar 50 fatherid int id counter 1,1 primary key 設定id 為主鍵並自動增長 2.修改字段型別 sql alter table ...