>데이터 베이스 >MySQL 튜토리얼 >새 행을 만들지 않고 테이블에서 중복 행을 삭제하려면 어떻게 해야 합니까?

새 행을 만들지 않고 테이블에서 중복 행을 삭제하려면 어떻게 해야 합니까?

Patricia Arquette
Patricia Arquette원래의
2024-12-29 13:51:14219검색

How Can I Delete Duplicate Rows from a Table Without Creating a New One?

새 테이블을 만들지 않고 테이블에서 중복 행 삭제

테이블을 만들지 않고 제거하려는 중복 레코드가 있는 테이블이 있습니다. 새 테이블. 이는 다음 방법을 통해 달성할 수 있습니다.

테이블에 고유 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.