Leetcode Note: Mysql - Delete Duplicate Emails

Delete Duplicate Emails - LeetCode
https://leetcode.com/problems/delete-duplicate-emails/

  • MySQL で取り組んだメモ

所感

  • order by で重複を抽出して delete する感じになりそう

回答

Simple Solution - LeetCode Discuss
https://leetcode.com/problems/delete-duplicate-emails/discuss/55553/Simple-Solution

DELETE p1
FROM Person p1, Person p2
WHERE p1.Email = p2.Email AND p1.Id > p2.Id
  • DELETE: 削除
  • FROM: 複数テーブルを指定できるので、今回は 2つ の Person テーブルを指定
  • WHERE: Person テーブルの Email で結合
    • AND: Email が重複しているレコードがあった場合、より Id が大きい方を選択

FROM で複数テーブル指定できるんだというのと、同じテーブルを複数指定する使い方があるという学びを得た