Published: 23 May 2018 › Updated: 23 May 2018![[MySQL] 중복되는 행을 하나만 남기도 모두 삭제하는 방법](/nhc-explorer-cover.webp)
![[MySQL] 중복되는 행을 하나만 남기도 모두 삭제하는 방법](/nhc-explorer-cover.webp)
[MySQL] 중복되는 행을 하나만 남기도 모두 삭제하는 방법
가령 다음과 같은 테이블이 있는 경우:
| id | name |
|---|---|
| 1 | |
| 2 | yahoo |
| 3 | msn |
| 4 | |
| 5 | |
| 6 | yahoo |
중복되는 필드 중에서 가장 낮은 ID만 남기고 모두 삭제하고 싶은 경우가 있을 수 있습니다. (혹은 그 반대로 가장 큰 ID만 남겨야 하는 경우도 있을 것입니다.)
이런 상황에서 다음과 같은 쿼리를 사용할 수 있습니다.
DELETE n1 FROM tableName n1, tableName n2 WHERE n1.id > n2.id AND n1.name = n2.name
큰 ID를 남기려는 경우에는:
DELETE n1 FROM tableName n1, tableName n2 WHERE n1.id < n2.id AND n1.name = n2.name
참고로 여러 개의 row를 삭제하려는 경우에는 다음과 같이 IN statement를 사용하면 됩니다.
DELETE from tablename WHERE id IN (1,2,3,...,254);
Between을 사용하여 범위를 지정하는 것도 가능합니다.
DELETE from tablename WHERE id BETWEEN 1 AND 254;
Leave [MySQL] 중복되는 행을 하나만 남기도 모두 삭제하는 방법 to:
Read more #mysql posts
Best Posts From 서방님
We have not curated any of seobangnim's posts yet. But you can encourage our curation team to review posts by visiting them regularly and by referring other readers. Because we give priority to frequently read content.