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
相关推荐
runningshark13 小时前
DeepSeek V4 Flash 0423 实效评测与能力全景
大数据·数据库
施嘉伟13 小时前
KingbaseES V9 Oracle兼容版:SQL 调优实测
sql·oracle
憧憬成为原神糕手13 小时前
Playwright、Selenium、DrissionPage 与 JSON 接口怎么选?
数据库·selenium·json
long31613 小时前
04-MySQL 扩展学习资料
数据库·mysql·adb
Zldaisy3d14 小时前
连续纤维增材制造的机翼已飞上天,复材打印在低空飞行器上还需翻过几道坎?
java·前端·数据库
倔强的石头_14 小时前
连接池参数治理-HikariCP怎么配才稳
数据库
wWYy.15 小时前
Mysql:二级索引
数据库·mysql
jnrjian15 小时前
PG 导出表为excel iconv 乱码
数据库·postgresql
DLYSB_15 小时前
数据库连接池爆满导致全线宕机:我用 Go 写了个“现场声光报警器”,比钉钉快了 10 倍
数据库·golang·钉钉·报警灯
ClickHouseDB15 小时前
Postgres正则表达式性能优化:pg_re2扩展的引入与应用
数据库