mysql select查询消除重复行_使用 MySQL中的 SELECT DISTINCT 消除重复行(第 4 部分)...

本文介绍了如何在MySQL中利用SELECT DISTINCT和临时表来删除重复行。通过创建临时表并插入不重复的数据,然后重命名和删除原始表,实现了消除全表重复行的效果。
摘要由CSDN通过智能技术生成

2018 年 1 月 30 日,由 Robert Gravelle 撰写

MySQL 提供了几乎无穷无尽的方法来处理重复数据。大多数可以使用一句语句进行更新或删除。但是,有时必须发出多个命令才能完成工作。今天的文章将展示采用临时表和 SELECT DISTINCT 查询的解决方案。

MySQL 的永久与临时表L

注意,我们今天在这里创建的临时表与 MySQL 中的真正临时表不同,因为我们没有将 TEMPORARY 关键字添加到 CREATE TABLE 语句中。

在 MySQL 中,临时表是一种特殊类型的表,允许你存储临时结果集,你可以在单个会话中多次重复使用该表。当无法使用单个 SELECT 语句查询数据或耗用大量系统资源时,临时表就会派上用场。就像使用 TEMPORARY 关键字创建的临时表一样,我们的“临时”表将存储 SELECT 查询的即时结果,以便我们可以发出一个或多个其他查询来完全处理数据。然后,我们会使用临时表替换目标表。

从 amalgamated_actors 表中删除重复行

在“如何在 MySQL 中删除具有不同 ID 的重复行(第 3 部分)”文章中,我们成功删除了包含重复名的行。但是,仍然会留下 ID 和名相同的行,换句话说,即是整行都是重复的行。例如,我们可以在下面的结果集中看到“22  JENNIFER  DAVIS” 出现了两次:

id

first_name

last_name

---------------------------------------------------

10

PENELOPE

GUINESS

14

ED

CHASE

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值