mysql数据库去重
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
);
##问题
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;(正确)
[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数据库去重相关推荐
- MySQL 数据库去重处理(小白)
在使用数据库的时候,由于各种原因可能导致数据库内容重复,在少量重复数据的时候,可以人工排查,或者逐一自动化排查删除, 我遇到的情况是在300K+的数据库中有7K+的重复数据,逐一操作比较耗时. 参考r ...
- 2018mysql数据库面试题_面试题: mysql 数据库去重 已看1 不好使
mysql去重面试总结 前言:题目大概是这样的. 建表: 1.查找表中多余的重复记录,重复记录是根据单个字段(Id)来判断 网上答案:select * from 表 where Id in (sele ...
- mysql 去重 根据id_超详细的四类数据库去重实现方案汇总,值得收藏
概述 今天主要闲聊Oracle.MySQL.sqlserver.pg数据库在删除重复数据时是怎么实现的,仅供参考. 一.Oracle数据库去重 1.环境准备 可以看到"ALLEN" ...
- 数据库去重,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 ...
- oracle 去重_超详细的四类数据库去重实现方案汇总,值得收藏
概述 今天主要闲聊Oracle.MySQL.sqlserver.pg数据库在删除重复数据时是怎么实现的,仅供参考. 一.Oracle数据库去重 1.环境准备 可以看到"ALLEN" ...
- mysql数据去重语句_数据库 mysql 语句
LAMP: Linux系统 A阿帕奇服务器 Mysql数据库 Php语言 mysql:常用代码 create table CeShi1 ( Uid varchar(50) primary key, P ...
- 互联网产品mysql数据库设计总结
mysql数据库性能不比oracle数据库,所以设计上,和oracle有一些不同.下面总结一些互联网产品的数据库设计. 1.主键 主键可以使用bigint(20) unsigned也可以使用varch ...
- MySQL数据库开发规范-EC
最近一段时间一边在线上抓取SQL来优化,一边在整理这个开发规范,尽量减少新的问题SQL进入生产库.今天也是对公司的开发做了一次培训,PPT就不放上来了,里面有十来个生产SQL的案例.因为规范大部分还是 ...
- B站《一天学会 MySQL 数据库》学习笔记
B站<一天学会 MySQL 数据库>学习笔记 老司机带我飞 职场十字诀:思考.计划.行动.总结.反思 关注他 4 人赞同了该文章 登录和退出MySQL服务器 # 登录MySQL $ my ...
- 黄聪:NaviCat通过Http方式连接服务器的MySQL数据库(转)
首先到NaviCat官网上去下载最新版本的NaviCat.安装完成后,打开NaviCat,如下图所示: 然后点击左上角的连接,弹出新键连接信息,如下图所示: 在主机名IP地址那里填写LocalHost ...
最新文章
- python小程序-Python基本小程序
- 假设磁盘块与缓冲区大小相同,每个盘块读入缓冲区的时间为10μs,由缓冲区送至用户区的时间是5μs,系统对每个磁盘块数据的处理时间为2μs。若用户需要将大小为10个磁盘块的
- cacti+nagios 整合遇到的问题
- PPPOE拨号上网流程及密码窃取具体实现
- e.html5.qq.com,QQ群官网-开放能力
- 专家解惑 | 关于华为云盘古大模型,你想问的都在这里~
- softmax实现多分类算法推导及代码实现
- 阿里云Linux服务器Tomcat9.0的安装及配置
- 铁甲小宝像车轮的是什么机器人_铁甲小宝里的机器人都叫什么名字啊
- 用集成移位寄存器74194设计一个模4的环形计数器电路
- 国内外常见DNS汇总 (更新:201904)
- Linux SSH命令大全
- 预测大盘最准确的指标_预测大盘走势最牛的指标(经典)
- Java 根据时间戳计算星座
- 【干货】我的机器学习入门路线图
- linux内核崩溃+grub,Linux内核崩溃信息分析
- 洛谷刷题P1914 小书童——凯撒密码(c语言)
- 汇编---智慧交通场景的模拟实现
- 每日三个笑话-20151014
- LODOP(自己打印时常用的函数)