LeetCode 196. Delete Duplicate Emails (sql)

196. Delete Duplicate Emails
Easy
Write a SQL query to delete all duplicate email entries in a table named  Person , keeping only unique emails based on its smallest Id.
+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | [email protected] |
| 2  | [email protected]  |
| 3  | [email protected] |
+----+------------------+
Id is the primary key column for this table.

For example, after running your query, the above  Person  table should have the following rows:
+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | [email protected] |
| 2  | [email protected]  |
+----+------------------+

Note:
Your output is the whole  Person  table after executing your sql. Use  delete  statement.
코드
delete from Person where id not in( 
    select t.id from (
        select min(id) as id from Person group by email
    ) t
)

코 멘 트
MySQL 은 DELETE 의 WHERE 가 문장 에서 DELETE 의 시 계 를 조회 하 는 것 을 허용 하지 않 지만, SELECT 를 끼 워 넣 는 방식 으로 이 문 제 를 피 할 수 있 습 니 다.

좋은 웹페이지 즐겨찾기