LeetCode 중복 이메일 삭제
1507 단어 입문부터 숙달까지 MySQL
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | [email protected] |
| 2 | [email protected] |
| 3 | [email protected] |
+----+------------------+
Id는 이 시계의 메인 키입니다.예를 들어, 쿼리 문구를 실행한 후 위의 Person 테이블은 다음 행을 반환해야 합니다.
+----+------------------+
| Id | Email |
+----+------------------+
| 1 | [email protected] |
| 2 | [email protected] |
+----+------------------+
사고방식 분석:\color {blue} 사고방식 분석: 사고방식 분석: 연결을 통해 같은 이메일이 존재하는지 판단하고 Id가 더 크며 존재하면 id가 비교적 큰 기록을 삭제합니다.
코드 구현:\color {blue} 코드 구현: 코드 구현:
delete p1
from Person p1
# ( )
inner join Person p2
# Email
on p1.Email = p2.Email
# p1 id ( p1 )
where p1.Id > p2.Id
블로그 추천:\color {blue} 블로그 추천: 블로그 추천: 이 문제는 MySQL의 다중 테이블 연결, 데이터 관리와 관련이 있습니다. 제 칼럼을 참고하십시오.