1. 程式人生 > 資料庫 >mysql查詢刪除表中重複資料方法總結

mysql查詢刪除表中重複資料方法總結

在資料庫表裡,我們有時候會儲存了很多重複的資料,這些重複的資料浪費資源,我們要將其刪除掉,應該怎麼處理呢?下面來看一下。

先看下我們的表資料,有一些資料是重複的。

要查詢重複資料,我們可以使用mysql裡的having語句,如圖。

執行這個語句後,我們可以看到現在的結果裡顯示的就是表中重複資料的欄位。

要刪除這些重複的資料,我們找出這些資料的ID,在select語句裡,新增id欄位,使用max函式,可以得到重複資料最後面的id。

執行結果如圖,得到重複資料的id為8和9。

這樣我們就可以使用delete語句來刪除這二個id的資料了。

但如果有很多重複的資料,不想一個一個的寫這些id怎麼辦?

新增一個子查詢,只把id欄位查詢出來,如圖。

然後在外邊新增一個delete語句就行了,詳細程式碼如圖。

要注意的是,如果重複資料的行有三行或以上的,我們需要執行這個語句多次才行,因為執行一次只會刪除每組重複資料中的一條。