>데이터 베이스 >MySQL 튜토리얼 >Oracle에서 중복 행을 효율적으로 제거하려면 어떻게 해야 합니까?

Oracle에서 중복 행을 효율적으로 제거하려면 어떻게 해야 합니까?

Susan Sarandon
Susan Sarandon원래의
2025-01-19 22:01:09131검색

How Can I Efficiently Remove Duplicate Rows in Oracle?

Oracle 데이터베이스에서 중복 행 제거

데이터베이스 테스트 중에 테이블을 샘플 데이터로 채우면 의도하지 않은 중복 항목이 발생하는 경우가 많습니다. 특히 기본 키를 설정하려고 할 때 문제가 발생할 수 있습니다.

해결책: ROWID 활용

Oracle의 rowid 의사 열은 각 행에 고유 식별자를 제공하여 중복 제거를 위한 간단한 솔루션을 제공합니다. 이 방법을 사용하면 데이터 무결성이 보장되고 기본 키를 올바르게 생성할 수 있습니다.

다음 SQL 문은 중복 행을 효율적으로 삭제하여 각 중복 세트에서 단일 인스턴스를 유지합니다.

<code class="language-sql">DELETE FROM your_table
WHERE rowid NOT IN (
    SELECT MIN(rowid)
    FROM your_table
    GROUP BY column1, column2, column3
);</code>

your_table을 실제 테이블 이름으로 바꾸고 column1, column2column3를 데이터의 고유 식별자를 정의하는 열로 바꾸는 것을 잊지 마세요. 최적의 효율성을 위해 GROUP BY 절에 모든 열을 포함하는 것을 고려하세요. 이 쿼리는 rowid을 사용하여 중복 항목을 찾아 제거하여 데이터를 깔끔하게 유지하고 기본 키 제약 조건에 대비합니다.

위 내용은 Oracle에서 중복 행을 효율적으로 제거하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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