这里是暂时的做法,不知道有没更简单的做法!
表结构:
mysql> desc t_user;
+----------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+----------+------------+------+-----+---------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| userName | varchar(8) | NO | | | |
| password | varchar(8) | NO | | | |
+----------+------------+------+-----+---------+----------------+
删除重复数据之前的数据,这里是名字重复:
mysql> select * from t_user;
+----+----------+----------+
| id | userName | password |
+----+----------+----------+
| 1 | huanglq | aaaaaa |
| 2 | assdfdf | 123 |
| 3 | huanglq | aaaaaa |
| 4 | assdfdf | rtert |
| 5 | assdfdf | rtert |
+----+----------+----------+
在执行之前看看重复数据的id:
mysql> select t1.id from t_user t1,(select username,min(id) as minid from t_user group by username having count(username)>1) t2 where t1.username=t2.username and t1.id<>t2.minid;
+----+
| id |
+----+
| 3 |
| 4 |
| 5 |
+----+
执行删除:
mysql> delete user1 from t_user user1,(select t1.id from t_user t1,(select username,min(id) as minid from t_user group by username having count(username)>1) t2 where t1.username=t2.username and t1.id<>t2.minid) user2 where user1.id=user2.id
查询删除后的数据
mysql> select * from t_user;
+----+----------+----------+
| id | userName | password |
+----+----------+----------+
| 1 | huanglq | aaaaaa |
| 2 | assdfdf | 123 |
+----+----------+----------+
2 rows in set (0.00 sec)
分享到:
相关推荐
主要介绍了Mysql删除重复数据保留最小的id 的解决方法,需要的朋友可以参考下
本文实例讲述了删除MySQL重复数据的方法。分享给大家供大家参考。具体方法如下: 项目背景 在最近做的一个linux性能采集项目中,发现线程的程序入库很慢,再仔细定位,发现数据库里面很多冗余数据。因为在采集中,...
代码如下:CREATETABLE`users`(`id`int(10)NOTNULLAUTO_...原因是mysql删除动作不能带有本表的查询动作,意思是你删除users表的东西不能以users表的信息为条件所以这个语句会报错,执行不了。只要通过创建临时表作
mysql多字段删除重复数据保留id最大的.txt
主要介绍了mysql查找删除重复数据并只保留一条实例详解的相关资料,需要的朋友可以参考下
主要介绍了MySQL中删除重复数据的简单方法,比起一般的NOT IN语句的效率更为高,需要的朋友可以参考下
在实际项目中,我们经常会遇到删除数据库中重复数据的问题,貌似是很简单的问题哈,下面我们来探讨下
查重是我们在工作中经常会遇到的一个需求,下面这篇文章主要给大家介绍了关于MySQL查询重复数据(删除重复数据保留id最小的一条为唯一数据)的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有...
主要为大家详细介绍了MySQL处理重复数据的实现代码,如何防止数据表出现重复数据及如何删除数据表中的重复数据,感兴趣的小伙伴们可以参考一下
有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。 防止表中...
由于每次执行只删除重复数据的一条,需要重复执行,如果本轮没有数据被删就OK #!/bin/sh # delete all company's duplicate uid MYSQL_BIN_PATH=/data/mysql/server/mysql_3306/bin MYSQL_SOCK_PATH=/data/mysql/...
有些 MySQL 数据表中可能存在重复的记录,有些情况我们允许重复数据的存在,但有时候我们也需要删除这些重复的数据。 本章节我们将为大家介绍如何防止数据表出现重复数据及如何删除数据表中的重复数据。 防止表中...
内容:包含了MySQL所有的详细用法, MySQL 连接 MySQL 创建数据库 MySQL 删除数据库 MySQL 选择数据库 ...MySQL 处理重复数据 MySQL 及 SQL 注入 MySQL 导出数据 MySQL 导入数据 MySQL 函数 MySQL 运算符
本文实例讲述了mysql优化小技巧之去除重复项实现方法。分享给大家供大家参考,具体如下: 说到这个去重,脑仁不禁得一疼,尤其是出具量比较大的时候。毕竟咱不是专业的DB,所以嘞,只能自己弄一下适合自己去重方法了...
主要介绍了MySQL 处理重复数据的方法,文中示例代码非常详细,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
Mysql 查询可以删除的重复数据 select t1.* from employee t1 where (t1.emp_name) in (select t4.emp_name from (select t2.emp_name from employee t2 group by t2.emp_name having count(*)>1) t4) and t1.emp_...