zl程序教程

您现在的位置是:首页 >  后端

当前栏目

删除重复的电子邮箱(C++)

C++ 删除 重复
2023-09-14 09:05:15 时间

删除重复的电子邮箱

难度简单605收藏分享切换为英文接收动态反馈

SQL架构

表: Person

+-------------+---------+
| Column Name | Type    |
+-------------+---------+
| id          | int     |
| email       | varchar |
+-------------+---------+
id是该表的主键列。
该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。

编写一个 SQL 删除语句删除 所有重复的电子邮件,只保留一个id最小的唯一电子邮件。

任意顺序 返回结果表。 (注意: 仅需要写删除语句,将自动对剩余结果进行查询)

查询结果格式如下所示。

示例 1:

输入: 
Person 表:
+----+------------------+
| id | email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
| 3  | john@example.com |
+----+------------------+
输出: 
+----+------------------+
| id | email            |
+----+------------------+
| 1  | john@example.com |
| 2  | bob@example.com  |
+----+------------------+
解释: john@example.com重复两次。我们保留最小的Id = 1。

我的代码:

# Please write a DELETE statement and DO NOT write a SELECT statement.
# Write your MySQL query statement below
delete p1 from person p1, person p2
where p1.email = p2.email and p1.Id > p2.Id; # where中第二个条件的意义是防止删掉自己

对应我的掘金文章:https://juejin.cn/post/7147272904089010189