2019独角兽企业重金招聘Python工程师标准>>>

##问题 mysql数据库表osc_table_a中出现了重复记录,需要通过sql来去重,仅留下最早插入的记录。

表osc_table_a:

id     row1     row2    row31      123        abc     *****2      123        def     *****3      123        abc     *****4      456        xyz     *****  5      456        xyz     *****

去重结果 id row1 row2 row3

1      123        abc     *****2      123        def      *****4      456        xyz      *****

##完整sql

<!-- lang: sql -->
DELETE t FROM osc_table_a t WHERE
(
osc_table_a.row1,
osc_table_a.row2
)IN(
SELECT a.row1, a.row2 FROM(SELECT * FROM osc_table_a tmp1 GROUP BY tmp1.row1, tmp1.row2 HAVING COUNT(tmp1.id)> 1) a
)
AND t.id NOT IN(
SELECT b.id FROM (SELECT MIN(tmp2.id) id FROM osc_table_a tmp2 GROUP BY tmp2.row1, tmp2.row2 HAVING COUNT(tmp2.id)> 1
) b
);

##问题

  1. mysql中DELETE使用别名问题

    如果 DELETE t FROM osc_table_a t WHERE...... 写为 DELETE FROM osc_table_a t WHERE...... 会报语法错误

     * SELECT * FROM osc_table_a b;(正确,可以使用表别名)* DELETE FROM osc_table_a b;(错误)* DELETE b FROM osc_table_a b;(正确)
    
  2. [Err] 1093 - You can't specify target table 'osc_table_a' for update in FROM clause

    如果去掉 SELECT a.row1, a.row2 FROM(......)a 或者 SELECT b.id FROM (.....)b的报错。

    作用和将查询结果先存入临时表,然后取出来是一样的效果。

转载于:https://my.oschina.net/ijustdoit/blog/332993

mysql数据库去重相关推荐

  1. MySQL 数据库去重处理(小白)

    在使用数据库的时候,由于各种原因可能导致数据库内容重复,在少量重复数据的时候,可以人工排查,或者逐一自动化排查删除, 我遇到的情况是在300K+的数据库中有7K+的重复数据,逐一操作比较耗时. 参考r ...

  2. 2018mysql数据库面试题_面试题: mysql 数据库去重 已看1 不好使

    mysql去重面试总结 前言:题目大概是这样的. 建表: 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 网上答案:select * from 表 where Id in (sele ...

  3. mysql 去重 根据id_超详细的四类数据库去重实现方案汇总,值得收藏

    概述 今天主要闲聊Oracle.MySQL.sqlserver.pg数据库在删除重复数据时是怎么实现的,仅供参考. 一.Oracle数据库去重 1.环境准备 可以看到"ALLEN" ...

  4. 数据库去重,group by、distinct、rowid的用法,oracle和mysql如何数据去重保留一条

    文章目录 数据库去重 一.Group by 1.1.概述 1.2.用法 1.3.演示 1.3.1.建表 1.3.2.查询 二.distinct 1.1.概述 1.2.用法 1.3.演示 三.rowid ...

  5. oracle 去重_超详细的四类数据库去重实现方案汇总,值得收藏

    概述 今天主要闲聊Oracle.MySQL.sqlserver.pg数据库在删除重复数据时是怎么实现的,仅供参考. 一.Oracle数据库去重 1.环境准备 可以看到"ALLEN" ...

  6. mysql数据去重语句_数据库 mysql 语句

    LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Php语言 mysql:常用代码 create table CeShi1 ( Uid varchar(50) primary key, P ...

  7. 互联网产品mysql数据库设计总结

    mysql数据库性能不比oracle数据库,所以设计上,和oracle有一些不同.下面总结一些互联网产品的数据库设计. 1.主键 主键可以使用bigint(20) unsigned也可以使用varch ...

  8. MySQL数据库开发规范-EC

    最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是 ...

  9. B站《一天学会 MySQL 数据库》学习笔记

    B站<一天学会 MySQL 数据库>学习笔记 老司机带我飞 职场十字诀:思考.计划.行动.总结.反思 ​关注他 4 人赞同了该文章 登录和退出MySQL服务器 # 登录MySQL $ my ...

  10. 黄聪:NaviCat通过Http方式连接服务器的MySQL数据库(转)

    首先到NaviCat官网上去下载最新版本的NaviCat.安装完成后,打开NaviCat,如下图所示: 然后点击左上角的连接,弹出新键连接信息,如下图所示: 在主机名IP地址那里填写LocalHost ...

最新文章

  1. python小程序-Python基本小程序
  2. 假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的
  3. cacti+nagios 整合遇到的问题
  4. PPPOE拨号上网流程及密码窃取具体实现
  5. e.html5.qq.com,QQ群官网-开放能力
  6. 专家解惑 | 关于华为云盘古大模型,你想问的都在这里~
  7. softmax实现多分类算法推导及代码实现
  8. 阿里云Linux服务器Tomcat9.0的安装及配置
  9. 铁甲小宝像车轮的是什么机器人_铁甲小宝里的机器人都叫什么名字啊
  10. 用集成移位寄存器74194设计一个模4的环形计数器电路
  11. 国内外常见DNS汇总 (更新:201904)
  12. Linux SSH命令大全
  13. 预测大盘最准确的指标_预测大盘走势最牛的指标(经典)
  14. Java 根据时间戳计算星座
  15. 【干货】我的机器学习入门路线图
  16. linux内核崩溃+grub,Linux内核崩溃信息分析
  17. 洛谷刷题P1914 小书童——凯撒密码(c语言)
  18. 汇编---智慧交通场景的模拟实现
  19. 每日三个笑话-20151014
  20. LODOP(自己打印时常用的函数)

热门文章

  1. 锂电池保护板测试软件,锂电池保护板的简单检测方法
  2. html5网页构成要素有哪些,网页界面的构成要素
  3. 3COM TFTP 3CDaemon中文绿色版
  4. 低启动0.7V升压芯片
  5. NATAPP 内网穿透的使用
  6. # 保利威视频在线分析下载
  7. h2测试软件,H2testw怎么测试 H2testw测试结果如何看的详细技巧
  8. 预训练模型MT-BERT的探索和应用
  9. Ubuntu安装dos2unix命令
  10. 计算机科学与技术研究生课表,计算机科学与技术(一级学科)硕士研究生培养方案...