我的LeetCode代码仓:https://github.com/617076674/LeetCode

原题链接:https://leetcode-cn.com/problems/delete-duplicate-emails/description/

题目描述:

LeetCode196——删除重复的电子邮箱

知识点:DELETE语句

思路:DELETE语句+WHERE子句

当DELETE语句中的表有别名时,必须写成DELETE p1 FROM Person AS p1的形式,不能写成DELETE FROM Person AS p1的形式,这样写会报错。

另外一点,MySQL中,不能先SELECT一个表的记录,再按此条件进行更新和删除同一个表的记录,否则会报错——“You can’t specify target table for update in FROM clause”。解决办法是,将SELECT得到的结果,再通过中间表SELECT一遍,这样就规避了错误。

SQL语句:

DELETE  
    p1 
FROM 
    Person AS p1, Person AS p2 
WHERE 
    p1.Email = p2.Email AND p1.Id > p2.Id;

LeetCode解题报告:

LeetCode196——删除重复的电子邮箱

 

相关文章:

  • 2021-06-08
  • 2021-06-09
  • 2022-12-23
  • 2021-05-26
  • 2021-11-23
  • 2022-03-06
  • 2022-02-14
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-10-11
  • 2022-12-23
  • 2022-12-23
  • 2021-09-19
  • 2021-12-17
相关资源
相似解决方案