【MySQL】【leetcode】 Delete Duplicate Emails解题报告

题目

Write a SQL query to delete all duplicate email entries in a table named Person, keeping only unique emails based on its smallest Id.

IdEmail
1john@example.com
2bob@example.com
3john@example.com

Id is the primary key column for this table.
For example, after running your query, the above Person table should have the following rows:

IdEmail
1john@example.com
2bob@example.com

题目来源:https://leetcode.com/problems/delete-duplicate-emails/

代码

Email重复的话,保留ID最小的那条记录,其余的删除。

#方法一:
# Write your MySQL query statement below
delete from Person
where Id not in (
  select * from (
    select MIN(Id) from Person group by Email
  ) as tb
);
#方法二:
# Write your MySQL query statement below
delete p1 
from  Person as p1, Person as p2
where p1.Email = p2.Email and p1.Id > p2.Id;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值