[MySQL] 196. Delete Duplicate Emails
2022. 11. 27. 14:44ㆍTIL💡/Database
이거 엄청나게 유용한 문제이다. 중복되는 row를 제거하는 문제이다.
셀프 조인하여 행 간의 비교를 수행하고, 같은 값을 같되 아이디가 다른 row가 존재하면 가장 작은 값만 남기고 나머지는 삭제한다.
DELETE p1 FROM Person p1, Person p2
WHERE p1.email = p2.email AND p1.id > p2.id;
같은 테이블을 구분하기 위해 p1, p2라고 alias를 지정한다.
'TIL💡 > Database' 카테고리의 다른 글
[LeetCode] 181. Employees Earning More Than Their Managers (0) | 2022.11.27 |
---|---|
[LeetCode] 177. Nth Highest Salary (0) | 2022.11.27 |
[MySQL] 1873. Calculate Special Bonus (0) | 2022.11.27 |
[MySQL] 1873. Calculate Special Bonus (0) | 2022.11.27 |
[MySQL] 176. Second Highest Salary (0) | 2022.11.26 |