-
從“表名”中選擇“所有列”,按所有列分組。
在這種情況下,如果所有列都相同,則它們將被刪除。
-
通過臨時表。
從 [表名] 中選擇 distinct * into a 。
刪除 [表名]。
插入到 [表名] 中。
select * from #a
-
這要視情況而定。
-
要刪除 SQL 語句中表中的重覆記錄,請執行以下步驟:
1. 用 distinct 刪除 A Dist 表中的記錄的重複資料,並將結果放入臨時表中。
select distinct * into #temp from a_dist;
2. 刪除 A dist 表中的所有記錄。
delete from a_dist;
3. 將臨時表中的資料資訊匯入到A dist表中,刪除臨時表。
insert into a_dist select * from #temp;
drop table #temp;
-
有三種方法可以對資料庫進行重複資料刪除:
1.如果兩條或多條記錄的每個欄位的值完全相同,則最容易重複該值,您可以使用關鍵字 distinct 將其刪除。
2.只有部分字段值在兩條記錄之間重複,但表具有主鍵或唯一 ID。 如果是這種情況,則無法使用 distinct 對其進行篩選,這需要主鍵 ID 和組的唯一性。
3.只有部分字段值在兩條記錄之間重複,但表沒有主鍵或唯一 ID。 在這種情況下,您可以使用臨時表,即將資料複製到臨時表中並新增自動遞增的 ID,並在資料去重後刪除臨時表。
-
您可以給出乙個想法,將非重複的額外內容放入臨時表中,刪除原始表,然後將臨時表中的資料插入到原始表中。
-
先刪除後新增。
delete from a_dist where id ='1' and name= 'abc'刪除所有此類記錄,然後記錄資料,然後再新增一次。
insert into a_dist values(1,'abc');
-
如果記錄完全相同,則重複的記錄為:(SQL Server 2000 測試已通過)。
select distinct * into #tmpp from tid
delete from tid
insert into tid select * from #tmpp
drop table #tmpp
如果存在 ID 主鍵(數字,遞增 1 的型別),則:(SQL Server 2000 測試通過)。
delete from tablea where id not in
select id = min(id) from tablea group by name)
-
還不如和熱心的網友一起生活。
-
從表 B 中刪除表 <>max(rowid)
where a.重複 = b重複項 );
-
1.有兩個相同的記錄。
這是最簡單的情況,可以使用關鍵字 distinct 刪除。
示例:從表(表名)中選擇 distinct * where (condition)。
2.有相同欄位的記錄(有主鍵ID,即唯一鍵)。
如果是這種情況,則無法使用 distinct 對其進行篩選,這需要主鍵 ID 和組的唯一性。
example:
select * from table where id in (select max(id) from table group by [de-duplicated field name list,..
3.沒有唯一的金鑰ID
example:
從表中選擇 Identity(int1,1) 作為 id,* 到 newtable(temporal table) 中
select * from newtable where id in (select max(id) from newtable group by [de-duplicated field name list,..
drop table newtable