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
相关推荐
张人玉19 小时前
C# WPF 折线图制作(可以连接数据库)
数据库·c#·wpf·sugar
Han.miracle20 小时前
MySQL 用户与权限精细化管理实战:从创建到权限回收全流程
数据库
lzhdim20 小时前
C#应用程序取得当前目录和退出
开发语言·数据库·microsoft·c#
last_zhiyin20 小时前
Oracle sql tuning guide 翻译 Part 4-1 --- 连接操作(Joins)
数据库·sql·oracle
老华带你飞20 小时前
农产品销售管理|基于springboot农产品销售管理系统(源码+数据库+文档)
数据库·vue.js·spring boot
电商API&Tina20 小时前
跨境电商速卖通(AliExpress)数据采集与 API 接口接入全方案
大数据·开发语言·前端·数据库·人工智能·python
-suiyuan-20 小时前
sqli-labs靶场1~2笔记
数据库·sql
瀚高PG实验室20 小时前
在Highgo DB 中创建MySQL兼容函数datediff
数据库·mysql·瀚高数据库
bing.shao20 小时前
FerretDB 替换MongoDB符合信创要求
数据库·mongodb
Han_coding120821 小时前
从原理到实战:基于游标分页解决深分页问题(附源码方案)
java·服务器·数据库·spring boot·spring cloud·oracle