MySQL数据库如何删除表中部分关键字段重复的记录

数据库 MySQL
本文我们通过一个例子介绍了MySQL数据库删除表中部分关键字段重复的记录的方法,希望能够对您有所帮助。

MySQL数据库中如何删除部分关键字段重复的记录呢?本文我们通过一个例子来介绍这一删除方法,接下来我们先说一说这个例子。

首先看一下Statistic表结构:

MySQL数据库如何删除表中部分关键字段重复的记录

处理样本:

MySQL数据库如何删除表中部分关键字段重复的记录

主要实现目的:

删除Date Server Item SubItem 完全相同,Id肯定不同,Value可能相同的记录。

比如:

 2011-07-27 | mx1.dns.com.cn | SEND_MAIL | TOTAL| 14522 |          | 229  【删除】

 2011-07-27 | mx1.dns.com.cn | SEND_MAIL | TOTAL| 14795 |          | 248  【保留】

实现过程:

***步:创建与Statistic表结构完全相同的临时表。

  1. use Statistic;  
  2.  
  3. create table s_tmp as select * from Statistic where 1=2

第二步:根据Id(自动增长)提取较新数据到临时表

  1. insert into s_tmp select a.* from Statistic a,Statistic b where   
  2.  
  3. a.Date=b.Date and a.Server=b.Server and a.Key=b.Key and a.SubKey=b.SubKey and a.id > b.id; 

第三步:根据临时表里的数据的日期信息,将原表的对应日期的数据删除

  1. delete  from Statistic where Date in (select distinct Date  from s_tmp ); 

第四步:将临时表里的数据导入Statistic

  1. insert into Statistic select * from  s_tmp; 

第五步:***清空临时表

  1. delete * from s_tmp; 

实现结果:(去重后)

MySQL数据库如何删除表中部分关键字段重复的记录

关于删除MySQL表部分关键字段重复的方法就介绍到这里了,如果您想了解更多关于MySQL数据库的知识,可以到这里看一下:http://database.51cto.com/mysql/,相信一定能够带给您收获的。

【编辑推荐】

  1. MySQL数据库命令行常用命令大全总结篇
  2. MySQL数据库如何实现跨表更新与数据并合
  3. MySQL数据库修改MySQL密码的六种措施总结
  4. 关于MySQL数据库创建内存表时的一些注意事项
  5. 关于MySQL数据库修改root用户使其远程登录的说明
责任编辑:赵鹏 来源: CSDN博客
相关推荐

2018-09-11 17:13:23

MySQ数据库重复记录

2018-04-27 13:00:00

数据库MySQL删除重复行

2011-03-04 17:30:42

Oracle数据库

2010-04-13 10:23:40

Oracle数据库

2010-10-08 15:49:09

Mysql更新字段

2019-08-19 14:06:27

MySQLDocker数据库

2010-09-26 17:24:24

SQL字符串

2011-05-17 11:23:02

Oracle数据库

2010-07-02 13:50:11

SQL Server数

2010-04-28 18:25:51

Oracle数据库

2021-01-26 13:40:44

mysql数据库

2011-03-29 09:26:35

Oracle数据库

2009-01-11 17:32:03

Oracle数据库重复数据

2010-10-13 17:07:46

MySQL删除重复记录

2010-04-13 10:15:17

Oracle数据库

2022-01-17 08:36:46

MySQLAmazon RDS 数据库

2011-05-18 13:16:21

MySQL数据库锁定

2009-02-02 13:16:23

修复数据表MySQL

2011-05-24 14:13:20

Oracle数据库

2023-09-06 09:44:23

MySQL数据库
点赞
收藏

51CTO技术栈公众号