重複したMySQLレコードを現場でチェックし、処理する実践的な記録

重複したMySQLレコードを現場でチェックし、処理する実践的な記録

序文

私はソフトウェアの導入とデバッグのために顧客先に出張していました。ある日、顧客が突然私のところに来て、現場で生成されたデータに異常があると言いました。最も直接的な兆候は、複数の資料に同じラベルが表示されていたことです。問題を解決する方法を確認するために、私の協力が必要でした。

分析する

顧客は私の前に重複したラベルが付いた箱の山を置きました。私はとても怖くなり、大変なことになるのではないかと心配しました。

少し考えた後、今必要なのは、データベースで重複タグを照会すること、つまり、タグを数えて、count > 1 のタグを特定することです。

えーっと、文法エラーですね。「Having」があったのを覚えてます。代わりに試してみましょう

なんと、重複タグが 1,500 個以上あります。質問の総数を数えてグループ化し、重複タグの割合を確認してみましょう。

ちなみに、まずはこれらの重複ラベルデータを顧客に渡して製品を追跡します(幸いNavicatはデータのコピーをサポートしています)

データ合計

上記のクエリレコードの結果は一時テーブルです。これに基づいて、sum()を使用して合計を計算します。

重複したレコードが多数あり、これは少し大きな問題です。

繰り返し率

前のクエリテーブルのクエリ方法を変更し、カウントデータを再度グループ化します

結果から、問題データのほとんどは2回繰り返されました。

どこにあるかと持っているかの違い

where は、クエリ結果が返される前にデータベース内のクエリ条件を制約する制約ステートメントです。つまり、結果が返される前に有効になり、where の後に集計関数を使用することはできません。

はフィルタリングステートメントです。いわゆるフィルタリングは、データベースクエリの結果が返された後に実行されます。つまり、結果が返された後に有効になり、集約関数はhaving後に使用できます。

いわゆる集計関数は、sum---合計、count---カウント、max---最大値、avg---平均値など、一連の値を計算し、単一の値を返す関数です。

要約する

MySQLのクエリ操作では、通常、複数テーブル結合クエリを使用し、クエリ結果を複数のクエリの中間テーブルとして使用し、クエリ結果をグループ化し、統計集計などの操作を実行します。

クエリ操作で関数計算やグループ化が使用される場合、典型的な機能は元のテーブル内の複数のレコードを 1 つに結合することであり、これらの操作の結果をフィルター処理するには、が必須です。また、 where を使用して、テーブル レコードを条件付きでフィルター処理します。

これで、サイト上の重複した MySQL レコードのトラブルシューティングと処理に関するこの記事は終了です。重複した MySQL レコードのトラブルシューティングと処理の詳細については、123WORDPRESS.COM の以前の記事を検索するか、次の関連記事を引き続き参照してください。今後とも 123WORDPRESS.COM をよろしくお願いいたします。

以下もご興味があるかもしれません:
  • MySQL の重複データの処理方法 (防止と削除)
  • 重複データの処理に関するMySQL学習ノート
  • MySQLデータの同時更新を処理する方法
  • MySQLの実行原理、論理階層化、データベース処理エンジンの変更について詳しく説明します
  • MySQLが大量のデータを処理する際にクエリ速度を最適化するいくつかの方法
  • MySQLデータ処理のソートと追加、削除、変更の操作の説明

<<:  CSS3 弾性拡張ボックスの詳細な説明

>>:  シンプルなログインページを実装するための HTML+jQuery

推薦する

例によるMySql CURRENT_TIMESTAMP関数の分析

時間フィールドを作成するときデフォルトのCURRENT_TIMESTAMPデータを挿入する際、このフ...

ドラッグ効果を実現するための純粋なCSSコード

目次1. ドラッグ効果の例2. CSS実装の原則3. CSS実装の詳細4. CSSレイアウト1. 固...

HTML テーブル マークアップ チュートリアル (48): CSS で変更されたテーブル

<br />では、CSS 構文を巧みに使用してテーブルを美しくする方法を見てみましょう。...

get メソッドによる HTML フォームの値転送の例

google.htmlインターフェースは図の通りですコードは図のとおりです: (比較的シンプルで、入...

CSS スキル コレクション - 古典の中の古典

リンク上の点線のボックスを削除しますコードをコピーコードは次のとおりです。 a:アクティブ、a:フォ...

nginx rewriteを使用してURLをリダイレクトする方法

最近仕事でnginxの設定を変更する必要が頻繁にあり、nginxでrewriteを使用する方法を学び...

MySQL ログイン警告問題の解決策

1. はじめにMySQL にログインすると、次のような警告が表示されることがよくあります。警告: コ...

Dockerコマンドの自動補完の実装

序文この友人がどれくらいDockerを使っていなかったのかは分かりませんが、突然Dockerコマンド...

CSS3 レーダースキャンマップのサンプルコード

CSS3 を使用して、クールなレーダースキャン画像を実現します。 コード上で直接: // インデック...

Centos7でファイルをバックアップするときは、バックアップファイルにバックアップの日付を追加します

Linux は、システム内のデバイス、インターフェース、ファイル、スタートアップ、アプリケーション ...

フローティングメニュー、上下スクロール効果を実現できます

コードはさらに合理化できますが、時間の制約があるため、まずはここで投稿して、自分で最適化してメニュー...

Ubuntu環境でのSSHの詳細なインストールと使用

SSH は Secure Shell の略で、安全な伝送プロトコルです。Ubuntu クライアントは...

JavaScript における変数と関数の昇格の詳細な例

js 実行字句解析フェーズ: 形式パラメータ解析、変数宣言解析、関数宣言解析の 3 つの部分が含まれ...

Docker コンテナを他のサーバーに移行する 5 つの方法

多くの場合、移行は避けられません。ハードウェアのアップグレード、データ センターの変更、古いオペレー...

星のフラッシュ効果を実現するjs

この記事の例では、スターフラッシュ効果を実現するためのjsの具体的なコードを参考までに共有しています...