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
相关推荐
盛世宏博北京几秒前
分布式库房集中管!云端 “八防” 监控平台,多站点统一可视化运维
大数据·网络·数据库·档案温湿度
言之。1 分钟前
向量数据库
数据库
Debroon12 分钟前
Graphiti:Cypher与SQL的“同声传译“,一个让图数据库和关系数据库握手言和的验证器
数据库·sql
SoleMotive.25 分钟前
redis和mysql有什么区别,以及redis和mysql都有什么缺点,以及什么地方redis不如mysql?
数据库·redis·mysql
代码代码快快显灵25 分钟前
Android跨应用数据共享:ContentProvider详解
jvm·数据库·oracle
聪明努力的积极向上32 分钟前
【MYSQL】IN查询优化
数据库·mysql
济南java开发,求内推33 分钟前
MongoDB: 升级版本至:5.0.28
数据库·mongodb
小灰灰搞电子37 分钟前
Qt PDF模块详解
数据库·qt·pdf
老华带你飞38 分钟前
健身房预约|基于springboot 健身房预约小程序系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·后端·小程序
梁萌42 分钟前
MySQL主从数据同步实战
数据库·mysql