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
相关推荐
SL_staff14 小时前
JVS数字底座实践:如何复用企业文档能力快速构建知识类应用
java·数据库·程序员
sugar__salt14 小时前
MyBatis ③动态 SQL 完全指南 —— 从条件拼接到批量操作
java·sql·mybatis
农村小镇哥15 小时前
C#读取CSV文件的方法
服务器·数据库·c#
IMPYLH15 小时前
HTML 的 <embed> 元素
前端·数据库·html
油丶酸萝卜别吃16 小时前
Redis 布隆过滤器快速实现
数据库·redis·缓存
深念Y16 小时前
stable-diffusion.cpp 的 FLUX.2 Klein 9B 分步
java·前端·数据库
whn197716 小时前
oracle 的ora-19633处理
数据库·oracle
x-cmd16 小时前
用 Rust 打造 AI 时代的 SQL:把重复任务变成可执行文件
数据库·人工智能·sql·ai·容器·rust·workflow
小弥儿16 小时前
Firecrawl:把整个网页变成 AI 可查询的数据库
数据库·人工智能·学习
swordbob16 小时前
mysql数据库,明明有索引为啥不用
数据库·mysql