ホームページ > データベース > mysql チュートリアル > 新しいテーブルを作成せずにテーブルから重複行を削除するにはどうすればよいですか?

新しいテーブルを作成せずにテーブルから重複行を削除するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-26 01:56:09
オリジナル
627 人が閲覧しました

How to Delete Duplicate Rows from a Table Without Creating a New Table?

テーブルからの重複行の削除

重複レコードを含むテーブルがあり、新しいテーブルを作成せずにそれらを削除したいと考えています。一意の ID フィールドがあると仮定すると、次のクエリを使用できます:

DELETE FROM Table
WHERE ID NOT IN
(
SELECT MIN(ID)
FROM Table
GROUP BY Field1, Field2, Field3, ...
)
ログイン後にコピー

例: 次のテーブルがあるとします:

id action L1_name L1_data ... L11_data
1 action1 name1 data1 ... company1
2 action2 name2 data2 ... company2
3 action1 name1 data1 ... company1

クエリは ID 3 の重複レコードを削除し、次の内容が残ります。 table:

id action L1_name L1_data ... L11_data
1 action1 name1 data1 ... company1
2 action2 name2 data2 ... company2

注:

  • 「テーブル」と「ID」は代表的な名称です。
  • フィールドのリスト( "Field1, Field2, ...") には、ID を除くすべてのフィールドが含まれている必要があります。
  • このクエリは次のようになります。フィールドと行の数によっては遅くなります。
  • 一意のインデックスがない場合は、インデックスを追加してパフォーマンスを向上させます。

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

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