色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

php查詢mysql重復,MySQL數據庫如何刪除重復數據

李中冰2年前40瀏覽0評論
php查詢mysql重復,MySQL數據庫如何刪除重復數據?

樓主的問題是如何刪除重復數據僅保留其中一條,接下來就介紹一下如何實現該需求。

數據準備

示例表 Student_Information 如下 :

我們插入一部分數據到該表,其中存在多條姓名為 Anaa 的手機號碼重復數據,如下:

入庫后數據如下:

設計刪除SQL

我們通過Group by對手機號進行分組,然后計算每組最大ID作為保留數據,然后刪除其他數據。SQL設計如下:

執(zhí)行該SQL,結果如下:

我們可以看到,該SQL刪除了重復的數據時,并且保留了id最大的數據(最新數據)。

設計該SQL時需要注意什么?

我們需要注意,使用 MySQL 進行 Delete From 操作時,若子查詢的 FROM 字句和更新、刪除對象使用同一張表時,會出現"You can't specify target table for update in FROM clause”。錯誤。

比如,我們設計如下SQL,該SQL從語法來看也是實現刪除 Student_Information 表重復數據,我們執(zhí)行一下看下結果。

執(zhí)行結果如下,我們可以看到拋出了"You can't specify target table for update in FROM clause”錯誤,那么該如何解決呢?

解決這個問題的方法也很簡單,就是將 select 出的結果通過中間表再 select 一遍即可,如下: