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
相关推荐
倔强的石头1062 分钟前
场景化落地指南——金仓时序数据库在关键行业的应用实践
数据库·时序数据库·kingbase
xj7573065332 分钟前
《精通Django》 第7章 高级视图和URL配置
数据库·django·sqlite
海棠AI实验室2 分钟前
第2篇:本地目录与资产标准(把“素材—文案—对话—上架”变成可追溯的生产线)
数据库·资产
数据知道6 分钟前
在PostgreSQL中并发保存上亿个图片链接和图片md5的对应关系,如何做最合适?
数据库·postgresql
麦麦鸡腿堡6 分钟前
MySQL_合计/统计函数
数据库·mysql
GIS之路9 分钟前
ArcGIS Pro 添加底图的方式
前端·数据库·python·arcgis·信息可视化
alonewolf_9912 分钟前
深入理解Redis线程模型:单线程神话与原子性实战
数据库·redis·缓存·分布式架构
五阿哥永琪14 分钟前
MySQL面试题 事务实现全解析:Undo Log、Redo Log、锁与 MVCC 协同机制详解
数据库·mysql
txinyu的博客14 分钟前
MySQL 学过但是全忘了?15min帮你快速复习
数据库·mysql
数据知道16 分钟前
如何使用 httpx + SQLAlchemy 异步高效写入上亿级图片链接与MD5到 PostgreSQL
数据库·postgresql·httpx