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
相关推荐
2301_800256113 分钟前
E/R 图(实体 - 联系图)转换为关系模式(数据库表结构)的核心规则
数据库·oracle
合方圆~小文5 分钟前
工业摄像头工作原理与核心特性
数据库·人工智能·模块测试
jmxwzy10 分钟前
Redis
数据库·redis·缓存
零叹13 分钟前
Redis热Key——大厂是怎么解决的
数据库·redis·缓存·热key
王五周八14 分钟前
基于 Redis+Redisson 实现分布式高可用编码生成器
数据库·redis·分布式
win x16 分钟前
Redis事务
数据库·redis·缓存
飞翔的小->子>弹->17 分钟前
CMK、CEK
服务器·数据库·oracle
peixiuhui22 分钟前
Iotgateway技术手册-7. 数据库设计
数据库·iotgateway·开源dotnet·arm工控板·开源网关软件·开源数据采集
麦兜*29 分钟前
【Spring Boot】 接口性能优化“十板斧”:从数据库连接到 JVM 调优的全链路提升
java·大数据·数据库·spring boot·后端·spring cloud·性能优化
qq_3344668636 分钟前
U9补丁同步的时候报错
数据库