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
相关推荐
进阶的DW5 分钟前
测开问题记录
数据库
江湖人称贺行风12 分钟前
数据库八股
数据库·八股
墨笔之风15 分钟前
数据库文档生成工具(PostgreSQL 适配版 - Java 8 兼容)
java·数据库·postgresql
小雨下雨的雨21 分钟前
第7篇:Redis性能优化实战
数据库·redis·性能优化
姜太小白27 分钟前
【数据库】SQLite 时间加1天的方法总结
java·数据库·sqlite
先做个垃圾出来………29 分钟前
SQL字符串函数
数据库·sql
if时光重来35 分钟前
kingbase数据库解决执行更新字段时锁表问题
数据库·kingbase
前端小臻36 分钟前
数据库表设计的流程(包含设计流程、建立数据库模型以及使用dbword导出数据库文档)
数据库
数据库知识分享者小北41 分钟前
Dify+ADB Supabase+LLM 实现 AI 客服系统
数据库·人工智能·阿里云·adb·postgresql
数据库学啊41 分钟前
专业的车联网时序数据库排名是怎样的
数据库·时序数据库