データベース内のデータの冗長性は、不正確さや非効率を引き起こす可能性があります。したがって、データの整合性を維持するには、重複したレコードを削除することが不可欠です。個別のエントリのみを含む新しいテーブルを作成することもできますが、新しいテーブルを作成せずに既存のテーブルから重複エントリを削除する直接的なアプローチを検討します。
id、action、およびL11_データ。 id は行ごとに一意であり、L11_data はそれぞれのアクション フィールド内で一意であり、アクションは業界を表します。目標は、L11_data 内のそれぞれの業界の重複する企業名を削除することです。
これを達成するには、一意の ID フィールドを利用して重複する行を特定し、削除します。次のクエリは、新しいテーブルを作成せずに冗長なレコードを効率的に削除します。
DELETE FROM Table WHERE ID NOT IN ( SELECT MIN(ID) FROM Table GROUP BY Field1, Field2, Field3, ... )
このクエリでは、Table は既存のテーブルを表し、ID は一意の識別子フィールドです。 GROUP BY で指定されたフィールドのリストには、ID を除くすべてのフィールドが含まれます。
このクエリの効率は、テーブル内のフィールドと行の数に依存することに注意することが重要です。ただし、ほとんどの実際的なシナリオでは、適切に機能するはずです。
さらに、テーブルに一意のインデックスがない場合は、インデックスを追加することを強くお勧めします。これにより、データの整合性が強化されるだけでなく、上記のクエリを効率的に実行できるようになります。
以上が新しい行を作成せずにテーブルから重複行を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。