如何刪除資料庫中的重覆記錄(一)

2021-06-20 17:22:23 字數 991 閱讀 2527

今天去西安一家公司去面試,其中有一道面試題是這樣的:「如何刪除在資料表中完全相同的記錄,如果兩條相同的記錄主鍵不同,那麼又應該如何刪除」 ,當時因為是很簡單的題目就直接用sql語句完成,面試官看了之後說這個有問題。回來研究一下果然錯了。現在把研究的步驟分享下來。

研究條件: 

window7 + no-install mysql 

1. 如何刪除除了主鍵不同其他屬性均相同的記錄

主要思想:首先從資料表中找出沒有重複的資料記錄,然後把這些記錄儲存到臨時表中,然後刪除原表記錄把臨時表中的記錄遷移過去。

具體步驟: 

一、 檢視下表在student中有兩條相同記錄,有distinct查詢不同的記錄(如右圖)。

二、 建立臨時表,把上面右圖的資料遷移到臨時表student_temp中.

sql語句: create temporary table if not exists student_temp as (select distinct(name), *** from student);

三、 刪除原表內容或者重新建立張新表,本例採用在原表基礎上修改,然後把student_temp內容遷移到student,最後結果如下圖所示:

用到sql: insert into student(id, name,*** ) select null,name,*** from student_temp;

最後就可以看到student表中只有兩條不同資料了。 

資料庫刪除重覆記錄

刪除重覆記錄 sql delete from wzh questions a where a.rowid select max rowid from lunar b where a.shuaho b.shuhao and a.tihao b.tihao 整理insert語句 select inser...

刪除資料表中的重覆記錄

刪除交通違章資料表中的 重覆記錄 同一時間 haptime 車號牌 numberplate 處罰原因 reason 一 方法原理 1 中,每一條記錄都有乙個rowid,rowid在整個中是唯一的,rowid確定了每條記錄是在oracle中的哪乙個資料檔案 塊 行上。2 在重複的記錄中,可能所有列的內...

刪除資料庫表中重複的記錄

有時候,我們會在平時的工作中碰到如下的問題 在乙個資料表開始的時候,由於考慮的不完全,可能主鍵配置沒有做好,可能在表中出現如下的重複資料 id name age 1 jason 23 2 jason 23 3 jason 23 4 alex 24 5 alex 24 現在當我們希望去掉重複的姓名資料...