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
相关推荐
努力的小雨几秒前
快速上手 KSQL:轻松与数据库交互的利器
数据库·经验分享
Gentle5863 分钟前
labview中连接sql server数据库查询语句
数据库·labview
Gentle5864 分钟前
labview用sql server数据库存取数据到一个单元格
数据库·labview
2401_857636397 分钟前
共享汽车管理新纪元:SpringBoot框架应用
数据库·spring boot·汽车
菲兹园长7 分钟前
表的设计(MYSQL)
数据库·mysql
Java Fans22 分钟前
MySQL数据库常用命令大全(完整版——表格形式)
数据库·mysql
起飞的风筝35 分钟前
【redis】—— 环境搭建教程
数据库·redis·缓存
白萝卜弟弟38 分钟前
【MySQL】MySQL函数之JSON_EXTRACT
数据库·mysql·json
gjh120840 分钟前
MySQL常见面试题
数据库·mysql
Rverdoser2 小时前
Python & PyQt5 实现 .his 文件批量转 Excel 工具
数据库