MySQL中删除重复数据的简单方法,mysql删除重复数据

MYSQL里有五百万数据,但大多是重复的,真实的就180万,于是想怎样把这些重复的数据搞出来,在网上找了一圈,好多是用NOT IN这样的代码,这样效率很低,自己琢磨组合了一下,找到一个高效的处理方式,用这个方式,五百万数据,十来分钟就全部去除重复了,请各位参考。

第一步:从500万数据表data_content_152里提取出不重复的字段SFZHM对应的ID字段到TMP3表

create table tmp3 as select min(id) as col1 from data_content_152 group by SFZHM;

第二步:创建新表RES

CREATE TABLE `res` (
`id` int(11),
`sfz` char(20)
) ENGINE=MyISAM;

第三步:把TMP3表ID对应到data_content_152里需要提取的数据添加到RES表的SFZ字段

INSERT INTO res (sfz) SELECT sfzhm FROM data_content_152,tmp3 where data_content_152.id=tmp3.col1

至此,就在MYSQL里实现了,给数据表data_content_152完全删除重复数据,把去重复后的数据导入到RES表。

第二种

delete from a where id not in ( select id from (select id from a group by name) as b)

时间: 2024-08-07 02:48:13

MySQL中删除重复数据的简单方法,mysql删除重复数据的相关文章

Java SE环境中测试JPA实体的简单方法

Java SE环境中测试JPA实体的简单方法 出于软件质量的考虑,理论上来说我们写的一切代码都要经过测试.JPA的测试不像普通的组件那么方便,因为JPA涉及到数据库,所以集成测试必不可少,像Arquillian这样的测试框架能处理比较复杂的集成测试,但是它的配置相对也更复杂一点,所以本篇文章主要讲一下在Java SE环境中较简单地测试JPA实体(Entity)的方法. 我们需要实现的目标有:1.不需要mysql这样需要额外安装的数据库:2.在SE环境中可以直接测试. 相关工具我们主要用到JUni

mysql中获取一天、一周、一月时间数据的各种sql语句写法

今天抽时间整理了一篇mysql中与天.周.月有关的时间数据的sql语句的各种写法,部分是收集资料,全部手工整理,自己学习的同时,分享给大家,并首先默认创建一个表.插入2条数据,便于部分数据的测试,其中部分名词或函数进行了解释说明.直入主题! 创建表:create table if not exists t(   id int,   addTime datetime default ’0000-00-00 00:00:00′)添加两条初始数据:insert t values(1, ’2012-07

享受LINQ:判断一组文字是否在字符串中同时出现的最简单方法

需求是这样的:不允许在一个字符串中同时出现"博", "客", "园", "团", "队"这5个文字. 如果不用LINQ,代码写起来会很啰嗦: var teststr = "博2客0园1团4队."; if (teststr.IndexOf("博") >= 0 && teststr.IndexOf("客") >= 0 &am

MySQL中sleep线程过多的处理方法

先说具体方法: 先在MySQL中操作 set global wait_timeout = 60; set global interactive_timeout = 60; 然后在配置文件里修改(/etc/my.cnf): [mysqld] interactive_timeout = 120  #<==此参数设置后wait_timeout自动生效. wait_timeout = 120 wait_timeout -- 指的是MySQL在关闭一个非交互的连接之前所要等待的秒数 interactive

mysql中约束的添加,修改,与删除

MySQL中的约束,添加约束,删除约束,以及其他的一些修饰:一.NOT NULL(非空约束) 添加非空约束 1)建表时直接添加 CREATE TABLE t_user(user_id INT(10) NOT NULL); 2)通过ALTER 语句 ALTER TABLE t_user MODIFY user_id INT(10) NOT NULL; ALTER TABLE t_user CHANGE user_id user_id INT(10) NOT NULL; 删除非空约束 1)ALTER

easyui中 combogrid控件的loadData方法加载本地数据

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head runat="server"> <title

hive 中与mysql 中函数同名不同意的方法记录

max 函数 在hive中max函数是一个聚合函数,所以,而且返回值是double ,而且后面必须跟group by ,这个和mysql差异很大 Built-in Aggregate Functions (UDAF) DOUBLEmax(col)Returns the maximum value of the column in the group. mysql 中 Returns the maximum value of expr. MAX() may take a string argume

mysql中length字符长度函数使用方法

在mysql中length是计算字段的长度一个汉字是算三个字符,一个数字或字母算一个字符了,与char_length是有一点区别,本文章重点介绍第一个函数. mysql里面的length函数是一个用来获取字符串长度的内置函数.具体用法示例如下: (1)查看某字符串的长度(比如本站网址) SELECT LENGTH('www.111cn.Net'); (2)查询文章表(article)中标题最长的10篇文章 SELECT id,title FROM article ORDER BY LENGTH(

EF Core使用CodeFirst在MySql中创建新数据库以及已有的Mysql数据库如何使用DB First生成域模型

官方教程:https://docs.microsoft.com/en-us/aspnet/core/data/?view=aspnetcore-2.1 使用EF CodeFirst在MySql中创建新的数据库,我们首先在appsettings.json文件夹中,使用json对来给出mysql数据库连接语句,其次在 Startup.cs中使用MySql的中间价来注入MySql服务,在这里,我使用的MySql驱动是Pomelo.EntityFramoworkCore.MySql.新建一个类,用来做数