SQL每日一题:删除重复电子邮箱

题干

表: Person

±------------±--------+

| Column Name | Type |

±------------±--------+

| id | int |

| email | varchar |

±------------±--------+

id 是该表的主键列(具有唯一值的列)。

该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。

编写解决方案 删除 所有重复的电子邮件,只保留一个具有最小 id 的唯一电子邮件。

(对于 SQL 用户,请注意你应该编写一个 DELETE 语句而不是 SELECT 语句。)

(对于 Pandas 用户,请注意你应该直接修改 Person 表。)Person 表的最终顺序 无关紧要。返回结果格式如下示例所示。

示例

解答

使用delete和where语句,通过将此表与自身在 Email 列上连接,然后找到具有相同电子邮件地址的其他记录中较大的 id。

sql 复制代码
delete p1 from person p1, person p2 
where p1.email=p2.email and p1.id>p2.id
相关推荐
码界奇点9 分钟前
深入解析MySQL6存储过程游标与触发器的实战应用与性能优化
数据库·sql·性能优化·七牛云存储
鸽鸽程序猿22 分钟前
【Redis】List类型介绍
数据库·redis·list
帅中的小灰灰23 分钟前
C++编程观察者设计模式
数据库·c++·设计模式
2501_9416649626 分钟前
云计算与边缘计算:新时代数字化转型的双轮驱动
数据库
x***587031 分钟前
GitHub星标10万+的Redis项目,使用教程
数据库·redis·github
Leon-Ning Liu1 小时前
MySQL 5.7大表索引优化实战:108GB数据建索引效率提升50%
运维·数据库·mysql
q***14641 小时前
oracle 12c查看执行过的sql及当前正在执行的sql
java·sql·oracle
ABILI .1 小时前
Oracle导出
数据库·oracle
Wang's Blog1 小时前
MySQL: 数据库监控核心要素与实施策略
数据库·mysql
周杰伦fans1 小时前
依赖倒置原则(DIP)Dependency Inversion Principle
数据库·依赖倒置原则