mysql 删除重复数据
1在日常使用mysql中 前端页面点击次数过多 mysql就会容易产生冗余数据,那这些数据该怎么删除呢
说下思路
查询重复字段id 查询重复字段最小id 删除重复字段ID 保留最小ID
查询重复记录这没的说
SELECT 重复记录字段 from 表 GROUP BY 重复记录字段 HAVING COUNT(*)>1
查询重复字段ID
例如
SELECT id FROM way_bills WHERE source_goods_id in (SELECT source_goods_id from way_bills GROUP BY source_goods_id HAVING COUNT(*)>1)
查询最小ID
SELECT MIN(id) from way_bills GROUP BY source_goods_id HAVING COUNT(*)>1
组合起来完整语句
DELETE
FROM
way_bills
WHERE
id IN (
SELECT
t.id
FROM
( SELECT id FROM way_bills WHERE source_goods_id IN ( SELECT source_goods_id FROM way_bills GROUP BY source_goods_id HAVING COUNT( * ) > 1 ) ) t
)
AND id NOT IN (
SELECT
q.id
FROM
( SELECT MIN( id ) id FROM way_bills GROUP BY source_goods_id HAVING COUNT( * ) > 1 ) q
)
ps
一定要给表起别名 否则你会给他不期而遇
You can't specify target table '表名' for update in FROM clause
就是说你不能查询表的同时删除表 ,你可以给他定义别名相当于定义张虚表,然后查询。嗯,这是我个人理解。
mysql 删除重复数据的更多相关文章
- mysql删除重复数据只保留一条
mysql删除重复数据只保留一条 新建一张测试表: CREATE TABLE `book` ( `id` char(32) NOT NULL DEFAULT '', `name` varchar(10 ...
- SQL server 存储过程 C#调用Windows CMD命令并返回输出结果 Mysql删除重复数据保留最小的id C# 取字符串中间文本 取字符串左边 取字符串右边 C# JSON格式数据高级用法
create proc insertLog@Title nvarchar(50),@Contents nvarchar(max),@UserId int,@CreateTime datetimeasi ...
- MYSQL删除重复数据
delete from co_jobinformation cwhere c.name in (select cc.name from co_jobinformation cc group by ...
- mysql 删除重复数据,并保存最新一条数据
删除重复行 DELETE FROM ecm_member_login_session WHERE (number , client_code) IN ( ) AND update_time NOT I ...
- MySQL中删除重复数据的简单方法,mysql删除重复数据
MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式, ...
- MySQL 删除重复数据实例
如何删除重复数据 业务场景:删除评论表中对同一订单同一商品的重复评论,只保留最早的一条. 查看是否存在对于同一订单同一商品的重复评论. SELECT order_id,product_id,COUNT ...
- mysql删除重复数据,保留最新的那一条
因为数据库没键外键,在关联查询的时候,会碰到查询条数多余数据库实际条数,这因为关联字段在表中有重复值而导致的. 解决方案: 1.数据库脚本删除重复数据,保留最新的一条 2.对关联字段增加唯一约束 例如 ...
- Mysql删除重复数据保留最小的id
在网上查找删除重复数据保留id最小的数据,方法如下: DELETE FROM people WHERE peopleName IN ( SELECT peopleName FROM people GR ...
- mysql 删除重复数据只保留一条记录
删除重复数据保留name中id最小的记录 delete from order_info where id not in (select id from (select min(id) as id fr ...
随机推荐
- BtxCMS.Net 项目
项目: 广告位:<script type="text/javascript" src="http://yg1.jmcdn.cn/file/script/A538.x ...
- centos下etcd集群安装
先仔细了解学习etcd 官方: https://github.com/etcd-io/etcd https://www.cnblogs.com/softidea/p/6517959.html http ...
- numpy(三)
广播: x= np.arange(12).reshape((3,4)) a= np.arange(3) b=np.arange(3)[;,np.newaxis] c=a+b a,b会扩散成公共的形状进 ...
- HFSS中查看增益
第一步:设置查看增益条件 radiation 中设置 第二步设置扫描方式 下面的save fields 一定要勾选 第三步:扫描完成就可以查看了 results 中 查看 其中 phi ...
- Linux 下如何修改用户名(同时修改用户组名和家目录)
有时候,由于某些原因,我们可能会需要重命名用户名.我们可以很容易地修改用户名以及对应的家目录和 UID.-- Shusain 本文导航◈ 修改用户名12%◈ 修改家目录43%◈ 更改用户 UID52% ...
- FPC全制造组装的流程介绍(转载)
[维文信FPC]FPC又称柔性电路板,FPC的PCBA组装焊接流程与硬性电路板的组装有很大的不同,因为FPC板子的硬度不够,较柔软,如果不使用专用载板,就无法完成固定和传输,也就无法完成印刷.贴片.过 ...
- EF性能检测工具MiniProfilerEF6的使用
一.在VS项目中分别安装包MiniProfiler.MiniProfiler.EF6.MiniProfiler.MVC4 二.在Global.asax文件的Application_BeginReque ...
- IntelliJ IDEA使用笔记
IntelliJ IDEA 2016.3.7激活 1.下载 JetbrainsCrack-2.10-release-enc.jar 链接:https://pan.baidu.com/s/1qVdhWg ...
- Go 初体验 - 并发与锁.2 - sync.WaitGroup
sync包里的WaitGroup主要用于协程同步 计数主协程创建的子线程 WaitGoup.Add(i) 调用清除标记方法WaitGroup.Done() 使用WaitGroup.Wait()来阻塞, ...
- Fiddler抓包【7】_次要功能和第三方插件
1.替换HTTP Request Host 应用场景:进行开发时,线上去测试跳转调试 替换命令:urlreplace news.baidu.com www.baidu.com: 清除命令:urlrep ...