인터넷에서 중복된 데이터를 찾아 삭제하고 가장 작은 ID의 데이터를 보관합니다. 방법은 다음과 같습니다.
DELETE FROM people WHERE peopleName IN ( SELECT peopleName FROM people GROUP BY peopleName HAVING count(peopleName) > 1 ) AND peopleId NOT IN ( SELECT min(peopleId) FROM people GROUP BY peopleName HAVING count(peopleName) > 1 )
직접 사용할 경우에는
1 delete from tb where id in (SELECT max(id) from tb GROUP BY user HAVING count(user)>1)
[Err ] 1093 - FROM 절에서 업데이트 대상 테이블 'XXX'를 지정할 수 없습니다.
아직 원인을 모르겠습니다.
그런 다음 작업을 분산하는 방법을 찾고, 먼저 중복 사용자가 있는 데이터를 필터링한 다음 max()를 사용하여 더 큰 행을 선택합니다.
SELECT max(id) from tb GROUP BY user HAVING count(user)> ; 1
그런 다음 획득한 max(id)를 기준으로 중복 데이터를 하나씩 삭제합니다
1 delete from tb where id=xx
위 내용은 MySQL은 중복된 데이터를 삭제하고 가장 작은 ID를 유지합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!