ホームページ > データベース > mysql チュートリアル > Oracle テーブルから重複行を効率的に削除するにはどうすればよいですか?

Oracle テーブルから重複行を効率的に削除するにはどうすればよいですか?

Linda Hamilton
リリース: 2025-01-19 21:47:11
オリジナル
492 人が閲覧しました

How Can I Efficiently Remove Duplicate Rows from an Oracle Table?

Oracle のデータ整合性: 重複行の排除

Oracle テーブル内の重複エントリは、特に主キーを確立する場合に、データの整合性を損なう可能性があります。 この記事では、これらの重複を効果的に削除するソリューションの概要を説明します。

rowid 疑似列の活用

Oracle の rowid 疑似列は、各行に一意の識別子を提供します。 これにより、正確な削除戦略が可能になります:

<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, column2, column3: 一意性を定義する列。必要に応じて、GROUP BY 句にさらに列を追加します。
  • サブクエリは、列の一意の組み合わせごとに最小の rowid を選択します。
  • NOT IN 句は、rowid が最小値ではないすべての行を削除し、一意の各レコードのインスタンスを 1 つだけ残します。

このアプローチにより、テーブルの重複エントリが効率的にクレンジングされ、後続の操作でのデータの整合性が確保されます。

以上がOracle テーブルから重複行を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート