• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Mysql删除重复数据保留最小的id 的解决方法

    在网上查找删除重复数据保留id最小的数据,方法如下:

    DELETE
    FROM
      people
    WHERE
      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清空数据表的方法实例与分析
    • MySQL查询重复数据(删除重复数据保留id最小的一条为唯一数据)
    • mysql查找删除重复数据并只保留一条实例详解
    • Mysql实现定时清空一张表的旧数据并保留几条数据(推荐)
    上一篇:在Debian 9系统上安装Mysql数据库的方法教程
    下一篇:Mysql带返回值与不带返回值的2种存储过程写法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Mysql删除重复数据保留最小的id 的解决方法 Mysql,删除,重复,数据,保留,