Postgres에서 중복 행의 복사본 하나 보존
중복 데이터를 처리할 때 적어도 하나의 행을 유지하면서 중복을 제거해야 하는 경우가 종종 있습니다. 각 중복 세트의 인스턴스입니다. Postgres에서는 다음 접근 방식을 통해 이를 수행할 수 있습니다.
단일 복사본을 유지하면서 중복 행을 삭제하려면 다음 쿼리를 사용할 수 있습니다.
DELETE FROM foo WHERE id NOT IN ( SELECT MIN(id) -- or MAX(id) for the latest copy FROM foo GROUP BY hash );
이 쿼리에서:
MIN(id) 또는 MAX( id) 하위 쿼리 내에서는 각 중복 세트의 가장 오래되거나 최신 복사본만 유지되도록 합니다.
이 접근 방식을 사용하면 각 중복 세트의 복사본이 최소 한 개 이상 유지됩니다. 불필요한 중복을 제거하면서 중복 행은 테이블에 유지됩니다.
위 내용은 PostgreSQL에서 중복 행의 복사본을 하나만 유지하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!