问题

群友提问:MySQL这样删除重复数据为啥不成功呢?

严小样儿:安排!

咋一看,大家都说where子句里面应该使用极值函数,加个max就对了,这么简单!

# 大家想象中这样写是对的,其实仍然是错的!delete from p1     where idfrom p1 b                   where p1.name=b.name);

看到这里,很多经常写sql但是又不太精通sql的人都会说:纳尼??!尤其是经常使用Oracle的同学,更是百思不得其解!我在这里首先说一句:MySQL这样写的确是错的,Oracle这样写应该没问题!接下来,我们来研究一番,到底如何以这样的方式去重呢?!

安排

(原始数据)

一、预览数据

 SELECT * FROM t;       # 结果如上

二、查重复值

SELECT * FROM t    WHERE t.ID SELECT MAX(m.ID)FROM t m                      WHERE m.NAME = t.NAME AND m.PRICE = t.PRICE);

(重复值结果)

也就是说,利用上面的SQL语句可以查询到哪些是重复数据。

然而,在它前面加个delete却不能删除重复值!

DELETE FROM t     WHERE t.ID SELECT                       WHERE m.NAME=t.NAME AND m.PRICE = t.PRICE);

(报错截图)

三、正确答案

# 正确答案delete from t     where t.id in (select r.* from (select id from t                                       where t.id < (select max( m.id ) from t m                                                         where m.name = t.name                                                   )                                   ) r                  );                  # 再次查看SELECT * FROM t;

(最终结果)划重点MySQL不能直接在查询结果中进行删除操作,需要先建立一个临时表。

更多精彩

传送门1:日常答疑|Python向量化操作、矩阵运算传送门2:日常答疑|Python处理时间格式并计算时间差值传送门3:分组排序求前三?TopN问题?一文教你MySQL各类排序操作传送门4:系列|七天PYTHON养成记之初识传送门5:系列|七天PYTHON养成记之函数

看完,读完,要“在看” ↓↓↓

oracle 查重复_日常答疑|MySQL删除重复数据踩过得坑相关推荐

  1. mysql 删除重复数据_日常答疑|MySQL删除重复数据踩过得坑

    问题 群友提问:MySQL这样删除重复数据为啥不成功呢? 严小样儿:安排! 咋一看,大家都说where子句里面应该使用极值函数,加个max就对了,这么简单! # 大家想象中这样写是对的,其实仍然是错的 ...

  2. mysql删除重复记录语句的方法 作者: 字体:[增加 减小] 类型:转载 时间:2010-06-21 我要评论 查询及删除重复记录的SQL语句,虽然有点乱,但内容还是不错的。 . .

    mysql删除重复记录语句的方法 作者: 字体:[增加 减小] 类型:转载 时间:2010-06-21 我要评论 查询及删除重复记录的SQL语句,虽然有点乱,但内容还是不错的. 例如: id name ...

  3. mysql删除重复的数据保留一条

    mysql删除重复的数据保留一条 -- 删除多余的重复记录,只保留最小id的记录,content 为内容重复字段 DELETE FROM zimis WHERE id IN (SELECT * FRO ...

  4. MySql删除重复数据(只保留一条)

    MySql删除重复数据 1. 问题引入 前一段遇到MySql数据重复的问题.由于重复向同一张表导入同一批数据,导致前台展示的数据重复,唯一方便快捷的方法莫过于利用delete操作删除重复数据(已经封板 ...

  5. Mysql 删除重复数据保留一条有效数据

    ============================== ©Copyright 蕃薯耀 2023-01-31 蕃薯耀的博客_CSDN博客-蕃薯耀分享,java,js领域博主 一.Mysql 删除重 ...

  6. MySQL删除重复数据只保留最新的一条

    MySQL删除重复数据并保留最新的一条,网上有些博客写的有问题,因为他们只考虑到或者说他们的重复数据最多只有两条,当重复数据大于2时,就会出现问题. 案例描述: 按天删除表中重复数据只保留最新的一条( ...

  7. MySQL 删除大量数据

    MySQL 删除大量数据 效果 操作 数据量太大 无法count 存储过程 分批 批量删除 为什么使用存储过程 分析 测试数据 优化空间 注意 参考: 效果 操作 数据量太大 无法count sele ...

  8. Excel2016表格中只有一列数据有重复值,怎么快速删除重复值

    环景: win 10 专业版 office2016 问题描述: 表格中只有一列数据有重复值,怎么快速删除重复值 解决方案: 1.菜单栏-数据-删除重复值 2.选中要删除的那列D列-删除重复值 3.确定 ...

  9. MySQL 删除表数据,重置自增 id 为 0 的两个方式

    MySQL 删除表数据,重置自增 id 为 0 的两个方式: 1.truncate table table_name; truncate table `user`; 2.delete 配合 alter ...

最新文章

  1. Python-opencv实现视频与图片的相互转换
  2. 请说明一下web.xml文件中可以配置哪些内容?
  3. 【Linux病毒】阿里云+腾讯云服务器的 kdevtmpfsi(H2Miner挖矿蠕虫变种)病毒处理(5个详细步骤)
  4. 集合在枚举数实例化后进行了修改_(编程知识)C# 枚举与位枚举
  5. WORD2010自动编号后,目录那里编号和文字中间有很大的空格,怎么
  6. jupyter notebook python插件_Jupyter notebook一款非常好用的python IDE
  7. 360视频云Web前端HEVC播放器实践剖析
  8. 【机器学习】传统目标检测算法之DPM
  9. HDU 2072(单词数)题解
  10. dell主板40针开机针脚_技术活!戴尔主板的前置面板接口针脚的问题。
  11. 请教各位 android activity之间切换的问题
  12. F#简明教程二:F#类型系统和类型推断机制
  13. 【声学基础】概述——传播
  14. 不好好写代码,就只能回去当总理了!
  15. 提取图像色彩主色调工具
  16. ef6 mysql code first_使用EntityFramework6连接MySql数据库(code first方式)
  17. Cuda Graph (cuda 优化)
  18. 数据结构 实验4——拓扑排序
  19. 求教origin拟合蠕变柔量(burgers模型)。
  20. ps常见颜色以及其色值

热门文章

  1. mysql怎么执行任务_Mysql怎么定时执行任务
  2. php用命令行脚本执行,使用PHP命令行执行PHP脚本的注意事项
  3. T-SQL和安全机制
  4. 两个数据库字符集不一样,如何快速增量同步数据.
  5. 基于帝国cms 7.5带支付个人也可以使用的h5微信商城
  6. img should be PIL Image. Got <class ‘numpy.ndarray‘>
  7. LCCL网络:相互指导博弈来提升目标检测精度(附源代码)
  8. python查看环境路径
  9. /org/gnome/Terminal/Factory0: Could not connec
  10. pytorch 卷积核