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
相关推荐
晴天¥13 小时前
达梦数据库dexp 和 dimp 应用实例
数据库·达梦数据库
214396513 小时前
网页如何运行html
jvm·数据库·python
Flying pigs~~13 小时前
从零到一构建企业级 RAG 问答系统:一个完整的模块化实践指南
数据库·人工智能·缓存·大模型·milvus·知识库·rag
2402_8548083713 小时前
Golang数组和切片有什么区别_Golang数组切片对比教程【通俗】
jvm·数据库·python
2401_8654396313 小时前
如何在 Go 中精确安装指定版本的模块
jvm·数据库·python
小菜同学爱学习13 小时前
进阶实操!MySQL常用查询技巧(多场景案例+优化思路)
数据库·mysql
考虑考虑13 小时前
SQL语句中的模糊查询注意
后端·sql·mysql
zhangchaoxies13 小时前
c++ rpc框架选择 grpc和thrift哪个更适合c++
jvm·数据库·python
2301_8152795213 小时前
怎么管理开启了审计日志的金融级数据库实例_合规访问控制
jvm·数据库·python
2301_8035389513 小时前
SQL如何避免不同团队修改同一张表_基于前缀名的授权GRANT ON语法
jvm·数据库·python