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
相关推荐
AI Echoes6 分钟前
自定义 LangChain 文档加载器使用技巧
数据库·人工智能·python·langchain·prompt·agent
在风中的意志20 分钟前
[数据库SQL] [leetcode] 578. 查询回答率最高的问题
数据库·sql
liuc031724 分钟前
AI下调用redis并调用deepseek
数据库·redis·mybatis
遇见火星38 分钟前
Redis主从复制深度解析:数据高可用与负载均衡的核心方案
数据库·redis·缓存·负载均衡
小小荧39 分钟前
CSS 写 SQL 查询?后端慌了!
前端·sql
酸菜牛肉汤面1 小时前
22、数据库的乐观锁和悲观锁是什么?怎么实现的?
数据库
陌路201 小时前
MYSQL事务篇--事务隔离机制
数据库·mysql
清风6666662 小时前
基于单片机的PID调节脉动真空灭菌器上位机远程监控设计
数据库·单片机·毕业设计·nosql·课程设计·期末大作业
酩酊仙人2 小时前
ABP将ExtraProperties作为查询条件
数据库·postgresql·asp.net
在风中的意志2 小时前
[数据库SQL] [leetcode] 614. 二级关注者
数据库·sql