MySQL テーブル内の重複データを検索して削除する方法の概要

MySQL テーブル内の重複データを検索して削除する方法の概要

時々、データベース テーブルに重複したデータが大量に保存されます。これらの重複データはリソースを浪費します。削除したいのですが、どのように対処すればよいでしょうか。以下で見てみましょう。

まず、テーブルデータを見てみましょう。一部のデータは重複しています。

重複データを検索するには、図に示すように、MySQL の having ステートメントを使用できます。

このステートメントを実行すると、現在の結果にテーブル内の重複データを含むフィールドが表示されることがわかります。

これらの重複データを削除するには、これらのデータの ID を調べ、select ステートメントに id フィールドを追加し、max 関数を使用して重複データの最後の id を取得します。

実行結果は図の通りで、重複データの ID は 8 と 9 です。

このように、delete ステートメントを使用して、これら 2 つの ID のデータを削除できます。

しかし、重複データが多数あり、これらの ID を 1 つずつ書き込みたくない場合はどうすればよいでしょうか?

図に示すように、id フィールドのみをクエリするサブクエリを追加します。

次に、外側に delete ステートメントを追加するだけです。詳細なコードは図に示されています。

重複するデータが 3 行以上ある場合は、このステートメントを複数回実行する必要があることに注意してください。これは、1 回実行すると、重複するデータの各セットで 1 行のみが削除されるためです。

以下もご興味があるかもしれません:
  • MySQLで重複レコードを削除する方法
  • MySQL で重複レコードをクエリして削除する方法の完全なガイド
  • MySQLで重複データを見つけて削除し、1つの例だけを残す方法の詳細な説明
  • MySQLデータベース内の重複データを削除する方法の概要
  • MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)
  • MySQL データベース内の重複レコードを削除する方法のまとめ [推奨]
  • MySQLテーブル内のフィールドの重複レコードを削除する
  • MySQL データベースを操作して重複データを削除するシェル スクリプト
  • MySQLで重複行を削除する方法
  • MySQLデータベースは重複データを削除し、メソッドインスタンスを1つだけ保持します

<<:  Dockerデータ管理とネットワーク通信の使用

>>:  Vue で Google サードパーティ ログインを実装するためのサンプル コード

推薦する

mysql8 共通テーブル式 CTE 使用例の分析

この記事では、例を使用して、MySQL 8 の共通テーブル式 (CTE) の使用方法を説明します。ご...

cmd と python での MySQL の一般的な操作についての簡単な説明

環境設定1: MySQLをインストールし、MySQLのbinディレクトリを環境変数に追加する環境設定...

MySQL マルチバージョン同時実行制御 MVCC の詳細な研究

MVCC MVCC (Multi-Version Concurrency Control) は、マル...

HTMLはフォームタグを使用して登録ページのサンプルコードを実装します。

ケースの説明: - ページ効果を実現するためにテーブルを使用する- ハイパーリンクを機能させたくない...

Javascript フロントエンド最適化コード

目次if判定の最適化1. 最も簡単な方法:判断2. より良い方法: スイッチ3. より良いアプローチ...

VMware 構成 VMnet8 ネットワーク方法の手順

目次1. はじめに2. 設定手順1. はじめに1. NAT モード (VMnet8) は、仮想マシン...

Linux で killall コマンドを使用してプロセスを終了する 8 つの例

Linux コマンドラインには、プロセスを強制終了するためのコマンドが多数用意されています。たとえば...

js を使用してファイルが UTF-8 でエンコードされているかどうかを判断する方法

従来の解決策FileReader を使用して UTF-8 形式のファイルを読み取り、ファイルの内容に...

MySQL 起動時に報告される ERROR:2002 の分析と解決方法

序文この記事は主にMySQL起動エラー2002の分析と解決方法を紹介しています。参考と勉強のために共...

高性能なウェブサイトのための14のテクニック

オリジナル: http://developer.yahoo.com/performance/rule...

高並列処理 nginx サーバー向け Linux カーネル最適化構成の説明

デフォルトの Linux カーネル パラメータは最も一般的なシナリオに基づいており、高い同時アクセス...

MySQL の同時実行性の問題と解決策の分析

目次1. 背景2. テーブルロックによるクエリの遅延3. オンラインでテーブル構造を変更するとどのよ...

無効にしてHTMLフォーム入力を送信した後にフォーム値が取得されない問題を解決する方法

フォーム入力ボックスの入力をdisable属性に設定して送信すると、入力ボックスの値を取得できなくな...

LinuxでIPアドレスが表示されない問題の解決方法

目次序文解決:ステップ1ステップ2序文環境: VMware Workstation 上に Linux...

Javascript 操作メカニズム イベントループ

目次1. 4つのコンセプト1. JavaScriptはシングルスレッドです2. タスクキュー3. 同...