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
相关推荐
李白客12 小时前
MySQL迁移操作手册:一次完整迁移的实战路径
数据库·mysql
晴天¥13 小时前
Oracle 19c RAC修改监听默认端口
数据库·oracle
皮卡祺q13 小时前
【redis1】基本指令,五大数据类型,存储优化,使用场景】
数据库·redis·缓存
杜子不疼.13 小时前
Agent Skills 的演进治理与 Swarm Skills 自演进
服务器·数据库·microsoft
wanghowie13 小时前
26.v3 核心升级:语义层 + 指标体系——禁止 LLM 直连 SQL
数据库·sql
袋鼠云数栈13 小时前
数栈 V7.0 多模态数据智能平台:打造 AI-Ready 的企业数据底座
大数据·数据结构·数据库·人工智能·数据治理·多模态
Mr. zhihao13 小时前
Redis Bitmap:BitCount、bitTop的使用业务场景
数据库·redis·缓存
永远不会出bug13 小时前
PgSql数据库函数
数据库
Volunteer Technology13 小时前
Flink Sink
大数据·数据库·flink
程思扬13 小时前
Android Room 数据库跨版本升级闪退问题根治方案
android·数据库·oracle