重複した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

推薦する

Vue プロジェクトで addRoutes を使用する際の問題の解決策

目次序文1. 404 ページ1. 原因2. 解決策2.白い画面を更新する1. 原因2. 解決策3. ...

MySQL のデータベース パフォーマンスに影響を与える要因の説明

データベースのパフォーマンスに関する話面接では、「データベースにどのくらい精通していますか?」など、...

nginx のロケーションで URI の傍受を実装する方法

例:場所のルートとエイリアスルートディレクティブは、ルートによって設定されたディレクトリに検索ルート...

Centos7でのMySQLインストールチュートリアル

MySQLインストールチュートリアル、参考までに具体的な内容は次のとおりです。 1. ダウンロードY...

VmWareでcentos7をインストールするときにインターネットにアクセスできない問題の解決策

Centos7 のインストール時に VmWare がインターネットにアクセスできない場合はどうすれば...

Linux で大きなファイルの内容を消去または削除する 5 つの方法

Linux ターミナルでファイルを操作しているときに、Linux コマンドライン エディターでファイ...

MySQLカーソルの使い方と機能の詳細な説明

[mysqlカーソルの使い方と機能]例:現在、テーブル A、B、C の 3 つのテーブルがあります。...

Vue-router ネストルーティングの詳細な説明

目次ステップ1. ルーティング ルールを設定し、子構成項目を使用します。 2. ジャンプ(フルパスを...

VUE+SpringBootはページング機能を実装します

この記事では主に、Vue + SpringBoot でページ分割されたリストデータを実装する方法を紹...

コンテンツタイプの説明、つまりHTTPリクエストヘッダーのタイプ

コンテンツ タイプについて学ぶには、まずそれが何であるか、そして何に使用されるかを知る必要があります...

ウェブページ制作と饅頭の関係(体験の共有)

昨日は遅くまで寝ていて、一日中起きていました。私の年齢では、夜更かしして本を書くのはもう無理のようで...

sed コマンドを使用してファイルの特定の行を効率的に削除する方法

序文通常、ファイル内の特定の行を削除したい場合は、まずファイルを開き、削除する内容を見つけて、これら...

Docker 接続 MongoDB 実装プロセスとコード例

コンテナが起動した後まず管理者にログインして新しいユーザーを作成してください $ docker ex...

Ubuntu 20.04 IPアドレスを変更する方法の例

例:本日、前回のオフィスコラボレーションプラットフォーム実験の続きをしていたところ、仮想マシンは以前...