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
相关推荐
倔强的石头10627 分钟前
【金仓数据库】ksql 指南(五) —— 创建与管理索引和视图(KingbaseES 查询优化核心)
数据库·oracle·kingbase
数据知道27 分钟前
PostgreSQL 的开源扩展:高效存储和检索向量数据的 PGVector 的详细使用
数据库·postgresql·开源
前进的李工7 小时前
SQL聚合函数与分组查询详解
数据库·sql·mysql
2301_800050998 小时前
mysql
数据库·笔记·mysql
数据皮皮侠9 小时前
2m气温数据集(1940-2024)
大数据·数据库·人工智能·制造·微信开放平台
Psycho_MrZhang9 小时前
Redis 设计思想总结
数据库·redis·缓存
曹牧10 小时前
Java:Assert.isTrue()
java·前端·数据库
程序员葫芦娃10 小时前
【Java毕设项目】基于SSM的旅游资源网站
java·开发语言·数据库·编程·课程设计·旅游·毕设
2401_8658548811 小时前
怎样挑选适合业务的数据库云服务?
数据库
lkbhua莱克瓦2411 小时前
基础-函数
开发语言·数据库·笔记·sql·mysql·函数