집 >데이터 베이스 >MySQL 튜토리얼 >새 행을 만들지 않고 테이블에서 중복 행을 삭제하려면 어떻게 해야 합니까?
새 테이블을 만들지 않고 테이블에서 중복 행 삭제
테이블을 만들지 않고 제거하려는 중복 레코드가 있는 테이블이 있습니다. 새 테이블. 이는 다음 방법을 통해 달성할 수 있습니다.
테이블에 고유 ID 필드가 포함되어 있다고 가정하여 시작합니다. L1_name, L2_name 등 ID를 제외한 모든 필드의 값을 비교하여 중복 레코드를 식별합니다.
중복 항목을 식별한 후에는 중복 값과 일치하지만 해당 중복 그룹 내의 최소 ID와 다른 ID.
이 개념을 쿼리:
DELETE FROM Table WHERE ID NOT IN ( SELECT MIN(ID) FROM Table GROUP BY L1_name, L2_name, L3_name, ... )
"테이블"과 "ID"를 실제 테이블 이름과 ID 필드 이름으로 대체해야 합니다. 또한 GROUP BY 절의 필드 목록에는 ID를 제외한 모든 필드가 포함되어야 합니다.
이 쿼리는 추가 테이블을 생성하지 않고도 중복 레코드를 효율적으로 삭제할 수 있습니다. 관련된 필드 및 행 수에 따라 성능이 달라질 수 있다는 점에 유의하세요.
위 내용은 새 행을 만들지 않고 테이블에서 중복 행을 삭제하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!