문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음
Table: Person
| Column Name | Type |
|---|---|
| id | int |
| varchar |
id는 이 테이블의 기본키(고유한 값을 갖는 열)이다.
이 테이블의 각 행에는 이메일이 포함되어 있다. 이메일에는 대문자가 포함되어있지 않다.
모든 중복된 이메일을 삭제하고, 가장 작은 ID를 가진 고유한 이메일 하나만 남기는 해결책을 작성해라.
Input:
Person table:
| id | |
|---|---|
| 1 | john@example.com |
| 2 | bob@example.com |
| 3 | john@example.com |
Output:
| id | |
|---|---|
| 1 | john@example.com |
| 2 | bob@example.com |
Explanation: john@example.com은 두번 반복된다. 가장 작은 Id = 1인 행은 유지해야한다.
-- Write your PostgreSQL query statement below
delete
from Person as A
using Person as B
where A.email = B.email and A.id > B.id