我的编程空间,编程开发者的网络收藏夹
学习永远不晚

MySQL中如何删除表重复记录

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

MySQL中如何删除表重复记录

本篇文章给大家分享的是有关MySQL中如何删除表重复记录,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

创建实验表student表数据:
mysql> use test
Database changed
mysql> create table student (id int,name varchar(10));
Query OK, 0 rows affected (1.67 sec)

mysql> insert into student values (11,'aa');
Query OK, 1 row affected (0.26 sec)


mysql> insert into student values (12,'aa');
Query OK, 1 row affected (0.07 sec)


mysql> insert into student values (13,'aa');
Query OK, 1 row affected (0.12 sec)


mysql> insert into student values (14,'aa');
Query OK, 1 row affected (0.11 sec)


mysql> insert into student values (15,'bb');
Query OK, 1 row affected (0.19 sec)


mysql> insert into student values (16,'bb');
Query OK, 1 row affected (0.14 sec)


mysql> insert into student values (17,'cc');
Query OK, 1 row affected (0.15 sec)


mysql> select * from student;
+------+------+
| id   | name |
+------+------+
|   11 | aa   |
|   12 | aa   |
|   13 | aa   |
|   14 | aa   |
|   15 | bb   |
|   16 | bb   |
|   17 | cc   |
+------+------+
7 rows in set (0.22 sec)


方法1:
mysql>  create temporary table temp as select min(id),name from student group by name;
Query OK, 3 rows affected (0.18 sec)
Records: 3  Duplicates: 0  Warnings: 0


mysql> truncate table student;
Query OK, 0 rows affected (0.40 sec)


mysql> insert into student select * from temp;
Query OK, 3 rows affected (0.11 sec)
Records: 3  Duplicates: 0  Warnings: 0


mysql> select * from student;
+------+------+
| id   | name |
+------+------+
|   11 | aa   |
|   15 | bb   |
|   17 | cc   |
+------+------+
3 rows in set (0.00 sec)


mysql> drop temporary table temp;
Query OK, 0 rows affected (0.17 sec)


方法2:
mysql> create temporary table temp as select min(id) as MINID from student group by name;
Query OK, 3 rows affected (0.24 sec)
Records: 3  Duplicates: 0  Warnings: 0


mysql> delete from student where id not in (select minid from temp);
Query OK, 4 rows affected (0.07 sec)


mysql> select * from student;
+------+------+
| id   | name |
+------+------+
|   11 | aa   |
|   15 | bb   |
|   17 | cc   |
+------+------+
3 rows in set (0.00 sec)


方法3:
mysql> delete from student where id not in (select minid from (select min(id) as minid from student
group by name) b);
Query OK, 4 rows affected (0.19 sec)


mysql> select * from student;
+------+------+
| id   | name |
+------+------+
|   11 | aa   |
|   15 | bb   |
|   17 | cc   |
+------+------+
3 rows in set (0.00 sec)


以上就是MySQL中如何删除表重复记录,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

MySQL中如何删除表重复记录

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

Oracle如何删除表中重复记录

1 引言在对数据库进行操作过程中我们可能会遇到这种情况,表中的数据可能重复出现,使我们对数据库的操作过程中带来读诸多不便,那么怎么删除这些重复没有用的数据呢?平时工作中可能会遇到当试图对库表中的某一列或几列创建唯一索引时,系统提示
2022-11-30

如何删除MySQL表中的所有重复记录?

要从表中删除重复记录,我们可以使用 DELETE 命令。现在让我们创建一个表。mysql> create table DuplicateDeleteDemo-> (-> id int,-> name varchar(100)-> );Qu
2023-10-22

如何删除mysql表中记录

通过使用 delete 命令,您可以从 mysql 表中删除记录,具体步骤包括:指定要删除记录的表名和条件(如果需要);提交更改以保存删除操作。如何删除 MySQL 表中记录通过以下步骤可以删除 MySQL 表中的记录:1. 使用 DE
如何删除mysql表中记录
2024-06-15

MySQL 如何查找并删除重复记录的实现

大家好,我是只谈技术不剪发的 Tony 老师。由于一些历史原因或者误操作,可能会导致数据表中存在重复的记录;今天我们就来谈谈如何查找 MySQL 表中的重复数据以及如何删除这些重复的记录。 创建示例表 首先创建一个示例表 people 并生
2022-05-11

sql如何删除表中重复项

要删除表中的重复项,可以使用以下SQL语句:DELETE FROM table_nameWHERE rowid NOT IN (SELECT MIN(rowid)FROM table_nameGROUP BY column1, colu
sql如何删除表中重复项
2024-04-09

编程热搜

目录