重複した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 を使用して Web ページのスクリーンショットを撮る方法をご存知ですか?

目次1. html2Canvasをインストールする2. 必要なVueコンポーネントを導入する3. ス...

JavaScript における一般的な配列操作

目次1. 連結() 2. 結合() 3. プッシュ() 5. シフト() 6. シフト解除() 7....

Navicateを使用してAlibaba Cloud Server上のMySQLに接続する

1. まず、サーバーの mysql にアクセスして権限を変更します。 GRANT オプション付きで、...

大きなオフセットによる MySQL 制限ページングが遅い理由と最適化ソリューション

MySQL では通常、limit を使用してページ上のページング機能を完了しますが、データ量が大きな...

CSSでカスタムフォント(font-face)を導入する方法の詳細な説明

なぜこれを使ったのか?それはポスターを作ることから始まりました。それは嵐の夜でした。 。 。さて、無...

jsネイティブ構文プロトタイプ、__proto__、コンストラクタの徹底的な理解

目次1 はじめに2 前提条件2.1 データ型2.2 それが自身のプロパティであるかどうかを判断する ...

mysql+mycat、負荷分散、マスタースレーブレプリケーション、読み取り/書き込み分離操作に基づく安定した高可用性クラスタを構築します。

データベースのパフォーマンス最適化には、一般的にクラスタリングが採用されています。Oracle クラ...

mysql 5.7.17 winx64.zip インストールと設定方法のグラフィックチュートリアル

はじめに: Windows 10 を再インストールし、同時にファイルを整理しました。しかし、MySQ...

Tomcat の maxPostSize 設定に関する問題と注意事項

1. maxPostSize を設定する理由は何ですか? tomcat コンテナには送信データのサイ...

Hadoop を使用せずに Linux 環境に Spark のスタンドアロン バージョンをインストールする方法

ビッグデータはますます注目を集めており、ビッグデータのいくつかの構成要素に精通していないと、自慢でき...

JavaScript の onblur および onfocus イベントの詳細な説明

HTML ページでは、ボタンやテキスト ボックスなどの視覚要素にフォーカスを設定したり、フォーカスを...

Linux の操作とメンテナンスの基本システムディスク管理チュートリアル

1. ディスクパーティション: 2. fdiskパーティションディスクが2 TB未満の場合はfdis...

マウスで画像を動かすJavaScript

この記事では、マウスの動きに追従する画像を実現するためのJavaScriptの具体的なコードを参考ま...

Vueタイマーの詳細な使い方

この記事では、参考までにタイマーを実装するためのVueの具体的なコードを紹介します。具体的な内容は次...

VueはPCで写真をアップロードする機能を実現

この記事の例では、PC上で写真アップロード機能を実現するためのVueの具体的なコードを参考までに共有...