记录原因:

昨天遇到一个问题:需要写一个sql语句删除重复数据。当时解决的办法,是先查询出重复的数据id,然后再单独写删除语句进行删除。今天想了想应该还是有其他办法解决的,研究了下可以通过一条语句就能解决。记录下顺便做下对比:

单独写查询和删除方法:
1.先查询出重复数据中非最小的id:
select t.* from ukey t where t.id not in (select min(t1.id) from ukey t1 group by t1.ter_idf,cast(t1.ter_portf as SIGNED INTEGER ));
2.再把查询出来的id删除:
delete from ukey where id in (id...);
优化之后变一条语句:
delete t.* from ukey as t
where t.id in (select * from (select id as min_id from ukey where id not in (select min(id) from ukey group by ter_idf,cast(ter_portf as SIGNED INTEGER ))) as d);

备注: 在优化成一条语句的时候遇到了下面的问题:

ERROR 1093 (HY000): You can't specify target table 'items' for update in FROM clause

大概意思是:不能在一条语句内对同一张表查询出来的参数进行修改。
后来查看相关资料,解决了问题!!!

官网资料:

https://dev.mysql.com/doc/refman/5.6/en/update.html

其他资料:

https://blog.csdn.net/u012767761/article/details/84997962/

利用sql语句删除重复数据相关推荐

  1. mysql sql 语句 查询重复数据 并删除重复数据 只保留一条

    **#例1:根据手机号customer_id查询所有重复的数据** SELECT* FROMaad_apply_main WHEREcustomer_id IN (SELECTcustomer_idF ...

  2. 3.23学习内容,竖立seekbar,sql获取删除重复数据

    竖立的seekbar: http://blog.csdn.net/metalseed/article/details/8014758 原理: 继承AbsSeekBar 通过重写方法旋转: protec ...

  3. 步步为营-89-SQL语句(删除重复数据)

    1:删除重复数据 --第一步:先找到重复数据 select ProcInstID from record_errorlog group by ProcInstID having count(ProcI ...

  4. Sql server 删除重复数据

    以下内容抄自 : https://www.cnblogs.com/springsnow/p/10334469.html 非常感谢此博主,  为了防止此链接丢失, 特写此文章进行记录,以便后面使用 目录 ...

  5. mysql用一条sql语句删除重复记录_mysql中删除重复记录,并保留重复数据中的一条数据的SQL语句...

    正好想写一条删除重复语句并保留一条数据的SQL,网上查了一部分资料写的很详细,但还是在这里写下自己的理解,以遍后续学习 .如下: 表字段和数据: SQL语句: DELETE FROM`user`WHE ...

  6. SQL语句删除重复记录

    转:http://www.cnblogs.com/sunxiaonan/archive/2009/11/24/1609439.html 转:http://www.cnblogs.com/liaoyun ...

  7. SQl语句查询重复数据 只显示其中一条

    SQL查询重复数据,只显示其中一条 有重复数据主要有以下几种情况: 1.存在两条完全相同的纪录 这是最简单的一种情况,用关键字distinct就可以去掉 example: select distinc ...

  8. 通过SQL语句删除重复记录

    最近在项目里碰到很多重复记录的事情,因为是设计业务里的具体数值,所以不敢轻易全部删除,数据量也很大,所以就倒腾了点代码在SQL里进行删除 纯属菜鸟,还望高手指教啊 1 --创建临时表 2 3 ifex ...

  9. sql 中删除重复数据的方法

    a.删除完全重复数据 create table #t1(SN varchar(30)) insert into #t1 values('a'),('a'),('a'),('b'),('b'),('c' ...

最新文章

  1. Javascript模块化编程(三):require.js的用法
  2. 开发者们看过来,8ms开发工具平台给大家送福利了!只要你来,肯定有你感兴趣的,3.6-3.10日,只要在8ms平台上创建项目,就有机会白嫖彩屏开发板哦
  3. image pil 图像保存_使用PIL保存图像
  4. Linux --- awk
  5. Python面试题之阅读下面的代码,写出A0,A1至An的最终值
  6. 【kafka】kafka rebalance generation
  7. Android studio安装及故障排除
  8. 无线路由器视频监控方案
  9. rapidminer进行关联分析、分类预测、聚类分析
  10. matlab初学者_脚本文件调用函数文件
  11. arp -s命令报错,ARP项添加失败:请求的操作需要提升。
  12. Zotero取消英文语法检查
  13. ChatOps 如何帮助你更好地开发 DevOps
  14. 零基础做油管搬运二创项目的正确方式,短视频小白玩家套利的可能
  15. window7 安装TortoiseGit没有git.exe 和 右键没有clone等按钮解决方法
  16. x的y次方python表达式怎么写_x 的 y 次方(xy) 以下表达式正确的是________
  17. Mq报错:Caused by: com.rabbitmq.client.ShutdownSignalException
  18. PTA 7-6 评委打分 java语言 班级里要搞智力竞赛 同学们都踊跃参加。进入最后决赛的是10个同学,随着一道道题目的出示,有时是1号选手得分,有时是5号选手得分,每次答对者得10分
  19. BUUCTF【ez_pz_hackover_2016】
  20. 路由器设置之后不能连网,动态ip显示为0

热门文章

  1. Java毕业课设项目名称
  2. 天正如何批量导出坐标_cad中批量导出坐标的方法【AutoCAD教程】
  3. 英语读书笔记-Book Lovers Day01
  4. 计算机图形学入门(二)-线性代数部分知识2视图变换和投影变换
  5. 计算机组成原理硬布线实验心得,计算机组成原理实验 2.9 硬布线控制器课件
  6. QT之QLineEdit——实现鼠标点击事件
  7. 健康管理系统开发笔记
  8. Selenium+Java(08):AutoIT工具的下载及安装
  9. 免费生成SSL泛解析证书
  10. linux嵌入式项目之安防监控一(详解)