当前位置:   article > 正文

SQL入门:第二天 --> leetCode196:删除重复的电子邮箱_id是该表的主键列。 该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。

id是该表的主键列。 该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。

文章目录

  • 题目描述
  • 解题步骤
  • 总结

题目描述

原题链接:196. 删除重复的电子邮箱


表: Person

  1. +-------------+---------+
  2. | Column Name | Type |
  3. +-------------+---------+
  4. | id | int |
  5. | email | varchar |
  6. +-------------+---------+
  7. id是该表的主键列。
  8. 该表的每一行包含一封电子邮件。电子邮件将不包含大写字母。

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

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

查询结果格式如下所示。

  1. 输入:
  2. Person 表:
  3. +----+------------------+
  4. | id | email |
  5. +----+------------------+
  6. | 1 | john@example.com |
  7. | 2 | bob@example.com |
  8. | 3 | john@example.com |
  9. +----+------------------+
  10. 输出:
  11. +----+------------------+
  12. | id | email |
  13. +----+------------------+
  14. | 1 | john@example.com |
  15. | 2 | bob@example.com |
  16. +----+------------------+
  17. 解释: john@example.com重复两次。我们保留最小的Id = 1

 解题步骤

  1. DELETE from Person
  2. Where Id not in (
  3. Select Id
  4. From(
  5. Select MIN(Id) as id
  6. From Person
  7. Group by Email
  8. ) t
  9. )

总结

记得改下表的名字,mysql不允许对同一张表同时又删又改又查

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/409441
推荐阅读
相关标签
  

闽ICP备14008679号