国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 万全县| 确山县| 石楼县| 鄂尔多斯市| 鹤庆县| 孝昌县| 永兴县| 北票市| 星子县| 贵定县| 凉城县| 海安县| 建昌县| 吕梁市| 调兵山市| 湖北省| 伊川县| 武川县| 陆丰市| 漳平市| 拜城县| 马山县| 木兰县| 白河县| 沈阳市| 灵川县| 荥阳市| 红安县| 崇义县| 乡城县| 德钦县| 苍南县| 安康市| 九寨沟县| 江门市| 深水埗区| 阳山县| 庆城县| 响水县| 东明县| 海兴县|