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
相关推荐
码农学院2 分钟前
Mysql 是如何解决幻读问题的?
数据库·mysql
计算机毕设VX:Fegn089513 分钟前
计算机毕业设计|基于springboot + vue高校实验室教学管理系统(源码+数据库+文档)
数据库·vue.js·spring boot·后端·课程设计
net3m3316 分钟前
websocket下发mp3帧数据时一个包被分包为几个子包而导致mp3解码失败而播放卡顿有杂音或断播的解决方法
开发语言·数据库·python
TG:@yunlaoda360 云老大17 分钟前
华为云国际站代理商WeLink的资源与工具支持具体有哪些?
服务器·数据库·华为云
TG:@yunlaoda360 云老大20 分钟前
华为云国际站代理商申请跨账号代维权限的流程复杂吗?
网络·数据库·华为云
云老大TG:@yunlaoda36021 分钟前
华为云国际站代理商MSGSMS的服务质量如何?
大数据·数据库·人工智能·华为云
热爱专研AI的学妹32 分钟前
【高级教程】联网搜索网页阅读api使用cURL从接口调试到复杂场景实战
服务器·数据库·人工智能·搜索引擎
橙汁味的风34 分钟前
5数据库完整性
数据库
zhengfei61136 分钟前
绿盟运维安全管理系统SQL注入漏洞
运维·sql·安全