国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql刪除重復數據保留最小的id 的解決方法

2024-07-24 13:14:33
字體:
來源:轉載
供稿:網友

在網上查找刪除重復數據保留id最小的數據,方法如下:

DELETEFROM  peopleWHERE  peopleName IN (    SELECT      peopleName    FROM      people    GROUP BY      peopleName    HAVING      count(peopleName) > 1  )AND peopleId NOT IN (  SELECT    min(peopleId)  FROM    people  GROUP BY    peopleName  HAVING    count(peopleName) > 1)

自己使用的時候顯示報錯:

 delete from tb where id in (SELECT max(id) from tb GROUP BY user HAVING count(user)>1)

[Err] 1093 - You can't specify target table ‘XXX' for update in FROM clause

暫時不知道是什么原因導致的。

然后想辦法分布操作,首先篩選出有重復user的數據,然后用max()選出其中較大的那一行:

SELECT max(id) from tb GROUP BY user HAVING count(user)>1

然后再根據得到的max(id)逐條刪除多余的數據

delete from tb where id=xx

是個笨方法,暫時先解決問題吧。

總結

以上所述是小編給大家介紹的Mysql刪除重復數據保留最小的id 的解決方法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙雅县| 元阳县| 伊春市| 清流县| 太仓市| 时尚| 清镇市| 宝应县| 沙田区| 朝阳县| 法库县| 稷山县| 外汇| 仙桃市| 全州县| 济宁市| 司法| 忻州市| 昭平县| 达尔| 丹阳市| 连云港市| 灵山县| 台中市| 山西省| 水富县| 长武县| 陵水| 汉川市| 汶川县| 犍为县| 南阳市| 武城县| 马山县| 霍州市| 东源县| 合阳县| 理塘县| 尼木县| 东明县| 绍兴县|