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
相关推荐
Francek Chen16 分钟前
【大数据存储与管理】实验3:熟悉常用的HBase操作
大数据·数据库·分布式·hbase
ffqws_18 分钟前
Spring @Transactional 注解详解:从入门到避坑
java·数据库·后端·spring
努力努力再努力wz19 分钟前
【MySQL 进阶系列】C/C++ 如何通过客户端库访问 MySQL?从连接原理到 API 调用流程详解(附完整demo代码)
服务器·c语言·数据结构·数据库·c++·b树·mysql
七夜zippoe1 小时前
DolphinDB分布式表:创建与管理
数据库·分布式·维度·dolphindb·数据写入
何中应1 小时前
Redis集群搭建
数据库·redis·缓存
KmSH8umpK1 小时前
Redis分布式锁进阶第十七篇
数据库·redis·分布式
重生之小比特2 小时前
【MySQL 数据库】表的操作
数据库·mysql
雷工笔记3 小时前
MES 系统 设备保养管理模块详细设计方案
运维·数据库
晚风_END5 小时前
Linux|操作系统|zfs文件系统的使用详解
linux·运维·服务器·数据库·postgresql·性能优化·宽度优先
晚风_END11 小时前
Linux|操作系统|最新版openzfs编译记录
linux·运维·服务器·数据库·spring·中间件·个人开发