去除mysql表中的重复数据,只保留最早的(最晚的也可以哦~~)

原创 2016年08月30日 16:31:12

今天整干着活,就有人找我给下个SQL,说是因为乱插数据导致有一个表里的数据出现啦重复,要去掉重复数据只保留一条,于是开始干活啦,

重复的字段是info_id

第一次写啦个这么SQL

delete from auth 
where id not in (select min(id) from auth b GROUP BY b.info_id )

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

???

话说要是在ORACLE里面这东西应该是不会报错(我忘记啦啊,得有1年多不用oracle啦,有兴趣的童鞋自己去试试,可以告诉我答案,就是不知道能不能评论)啊!!!

好吧我想啦想,要么做个临时表?方法很好,就是比较蠢。。

那么试试隐藏条件中的查询?

DELETE
FROM
    auth
WHERE
    id NOT IN (
        SELECT
            minid
        FROM
            (
                SELECT
                    min(c.id) AS minid
                FROM
                    auth c
                GROUP BY
                    c.info_id
            ) b
    )

好的~ 成功啦

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

mysql导入打卡记录,查询员工每天最早上班时间和最晚下班时间

1、在数据库新建表card_records,根据打卡记录字段新建表的字段,新增id字段(自增) 2、利用navicat连接mysql数据库,导入打卡记录 右键新建的表,右键导入向导,选择导入的文件...

项目管理中通过CPM算法求关键路径,最早和最晚开始时间

首先贴一下百度百科对CPM的定义:关键路径法(Critical Path Method, CPM)是一种基于数学计算的项目计划管理方法,是网络图计划方法的一种,属于肯定型的网络图。关键路径法将项目分解...

AOE网络的算法,活动的最早开始时间,最晚结束时间,关键活动,关键路径

AOE网络的关键活动计算,进而得到关键路径
  • cmdssd1
  • cmdssd1
  • 2016年06月30日 12:07
  • 4788

解决一个mysql关于按文章以及评论的最早时间的排序问题

问题是: 有个文章列表要显示文章  如果文章时间发布的越近的越靠前  时间一样看评论 如果评论越近的越靠前,有点像论坛的帖子列表 抽象出来的问题就是: 按 time1,time2中较大者的顺...

PAT 数据结构 06-图7. How Long Does It Take (25) 拓扑排序 最早开始时间

Given the relations of all the activities of a project, you are supposed to find the earliest comple...

MySQL中删除重复数据只保留一条

用SQL语句,删除掉重复项只保留一条在几千条记录里,存在着些相同的记录,如何能用SQL语句,删除掉重复的呢 1、查找表中多余的重复记录,重复记录是根据单个字段(peopleId)来判断SELECT...
  • linjpg
  • linjpg
  • 2017年04月06日 15:48
  • 502

MySql数据库去除重复的数据

今天群内有群友提出了一个问题,就是MySql中删除

插入MySQL数据库前去除重复数据的几种方法

若数据不存在插入,存在更新 使用duplicate key关键字,如插入数据时发生主键冲突就更新数据 使用Ingore关键字 使用replace into关键字 一、若数据不存在插入,存在更新: ...

mysql 去除重复数据的问题

mysql里面的DISTINCT很多时候不给力,感觉和oracle和sqlserver中的不一样,经常去除重复时结果不是自己想要的结果,特别是在多表关联查询时,如果b表有多个可以和a表关联不同数据时,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:去除mysql表中的重复数据,只保留最早的(最晚的也可以哦~~)
举报原因:
原因补充:

(最多只允许输入30个字)