중복 메시지 삭제

676 단어 oracle
SQL 쿼리를 작성하여 테이블의 모든 중복된 전자 메일을 삭제하고 중복된 전자 메일 중 Id가 가장 작은 메일만 보존합니다.
+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | [email protected] |
| 2  | [email protected]  |
| 3  | [email protected] |
+----+------------------+
Id .

예를 들어, 질의를 실행한 후 위의 Person 테이블에는 다음 행이 표시됩니다.
+----+------------------+
| Id | Email            |
+----+------------------+
| 1  | [email protected] |
| 2  | [email protected]  |
+----+------------------+

당신은 실제 면접 코너에서 이 문제를 만난 적이 있습니까?
다음과 같이 대답하십시오.
DELETE p1   FROM Person p1, Person p2   WHERE p1.Email = p2.Email AND   p1.Id > p2.Id

좋은 웹페이지 즐겨찾기