LEETCODE 196.Delete Duplicate Emails
(https://leetcode.com/problems/delete-duplicate-emails/)
1) Delete+Subquery
2) Delete+Join
두 방법으로 풀 수 있는데, 1)서브쿼리로 풀던 중 오류가 나왔다.
DELETE FROM Person
WHERE id not in
(SELECT min(id)
FROM Person
GROUP BY email)
이유:
MySQL에서 UPDATE & DELETE 를 할 때 자기 테이블의 데이터를 바로 사용하지 못한다고 한다.
그래서 아래와 같이 서브쿼리를 하나 더 넣어야 한다.
DELETE FROM Person
WHERE id not in (SELECT new.mind
FROM (SELECT min(id) as mind
FROM Person
GROUP BY email) new)
Photo by Rohit Farmer on Unsplash