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 サードパーティ ログインを実装するためのサンプル コード

推薦する

Redission-tomcatは、単一マシンから複数マシンへの展開を迅速に実装します。

序文一部のプロジェクトの初期段階では、シンプルさとスピードのために、開発と展開は単一のマシンで行われ...

MySQL が外部キーを作成できない理由と解決策

2 つのテーブルを関連付けるときに、外部キーを作成できませんでした。このブログから、問題は、ポイント...

Dockerコンテナとローカルマシン間でファイルを転送する方法

ホストとコンテナ間でファイルを転送するには、コンテナの完全な ID が必要です。取得方法は以下の通り...

水平ヒストグラムを作成するための MySQL ソリューション

序文ヒストグラムは、RDBMS によって提供される基本的な統計情報です。最も一般的に使用されるのは、...

nginx を使用して http を https に変換するサンプルコード

最近、小さなプログラムを書いています。その小さなプログラムの公式ウェブサイトはhttpsを使用する必...

Vue の関連ページへのマルチレベルジャンプ (ページドリルダウン) 機能の完全な例

背景プロジェクト開発プロセスでは、前のページから次のページにジャンプする必要に迫られることがよくあり...

MySQL の主キーがクエリを高速化するために数値を使用するか UUID を使用するかについての簡単な分析

実際の開発では、MySQL の主キーは重複できず、主キーが自動的にインクリメントされることがあります...

href をクリックした後にページがジャンプしないようにするための空のリンクの正しい書き方 # 問題

リンクを使用する必要がある場合もありますが、リンクする必要はありません。onclick イベントを処...

Windows での MySQL の使用: 自動スケジュールバックアップの実装

1. バックアップスクリプトを書く 著者:www.yumi-info.com 日付:20171222...

CentOS 6.5 に MySQL 5.6 をインストールするチュートリアル

1. Linuxに対応するRPMパッケージをダウンロードする5.6 より前のバージョンhttp://...

Vue の双方向イベントバインディング v-model の原理についての簡単な説明

目次説明する:要約する補充するDOM を直接変更して操作する js や jQuery とは異なり、V...

Vue+nodeはオーディオ録音・再生機能を実現

結果: コードロジックを実装するのが主な部分であり、具体的なページ構造を一つ一つ紹介することはありま...

Vue データの応答性の概要

データの応答性について話す前に、Vue はデータに対して具体的に何を行うのかという非常に重要な問題を...

CSS 共通スタイルで二重矢印を描画するサンプルコード

1. 単一の矢印への複数の呼び出し単一の矢印を実装したら、二重矢印を実装するのは簡単です。上では、単...

Vueプロジェクトでよく使われる実践的なスキルのまとめ

目次序文1. マルチレベルのデータとイベントの配信には$attrsと$listenersを使用する2...