MySql Group Byは複数のフィールドのグループ化を実装します

MySql Group Byは複数のフィールドのグループ化を実装します

日常の開発タスクでは、データ テーブル内のグループ化フィールドに基づいて統計データを取得するために、MYSQL の GROUP BY グループ化を頻繁に使用します。たとえば、次のような構造を持つ学生のコース選択テーブルがあります。

テーブル: Subject_Selection
科目 学期 出席者
---------------------------------
ITB001 1 ヨハネ
ITB001 1 ボブ
ITB001 1 ミッキー
ITB001 2 ジェニー
ITB001 2 ジェームズ
MKB114 1 ヨハネ
MKB114 1 エリカ

各コースに登録した学生の数をカウントし、次の SQL を適用します。

件名、件数を選択(*)
Subject_Selection から
件名別にグループ化

以下の結果が得られます。

件名数
------------------------------
ITB001 5
MKB114 2

表には、5 人の学生が ITB001 を選択し、2 人の学生が MKB114 を選択したことが記録されています。

この結果の理由は次のとおりです。

GROUP BY X は、同じ X フィールド値を持つすべてのレコードを 1 つのグループにまとめることを意味します。

GROUP BY X, Yはどうでしょうか?

GROUP BY X, Y は、同じ X フィールド値と Y フィールド値を持つすべてのレコードを 1 つのグループにまとめることを意味します。

次に、各学期に各科目を選択する人数をカウントし、次の SQL を適用する必要があります。

科目、学期、回数を選択(*)
Subject_Selection から
科目、学期別にグループ化

上記の SQL は、Subject_Selection テーブル内のデータをグループ化し、Subject および Semester フィールド値が同じレコードを同じグループに入れ、各グループ内のデータに集計関数 (COUNT、SUM、AVG など) を適用することを意味します。

結果は次のとおりです。

科目 学期数
------------------------------
ITB001 1 3
ITB001 2 2
MKB114 1 2

表の記録から、グループ化の結果が正しいことがわかります。前期にITB001を選択した学生は3人、後期にITB001を選択した学生は2人です。

また、前期にMKB114を選択した学生は2名おり、後期にMKB114を選択した学生はいませんでした。

たとえば、支払われたすべての注文を記録する注文テーブルがあります。

表: 順序

製品購入者の支出
---------------------------------
PD001 トッド 12.00
PD001 トッド 12.00
PD001 トッド 12.00
PD001 リリー 12.00
PD001 リリー 12.00
PD002 トッド 20.00
PD002 トッド 20.00

ここで、各ユーザーが各製品にいくら使ったかを数えたいので、次のSQLを実行します。

製品、購入者、合計(支出)を選択
`Order`より
製品、購入者別にグループ化

得られた結果は次のとおりです。

製品購入者合計
------------------------------
PD001 トッド 36.00
PD001 リリー 24.00
PD002 トッド 40.00

要約:

MYSQLでGROUP BYを使用してテーブル内のデータをグループ化する場合、

GROUP BY X は、同じ X フィールド値を持つすべてのレコードを 1 つのグループにまとめることを意味します。

GROUP BY X, Y は、同じ X フィールド値と Y フィールド値を持つすべてのレコードを 1 つのグループにまとめることを意味します。

上記は、私が紹介した複数のフィールドをグループ化するためのMySql Group Byメソッドです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

以下もご興味があるかもしれません:
  • MySQLはgroup_concat()関数に基づいて複数のデータ行を結合します
  • グループフィールドを 1 行に書き込むための mysql group_concat メソッドの例
  • 複数のフィールドをグループ化するMySQLグループ
  • MySQL でグループ化した後、フィールドの複数のデータを結合して表示する方法

<<:  Centos7.5 構成 Java 環境のインストール Tomcat の説明

>>:  CocosCreatorでクールなレーダーチャートを描く方法

推薦する

選択ドロップダウンメニューのテキストを左右にスクロールするように設定する

marquee タグを使用してフォントのスクロールを設定したいです。コードは次のように記述しましたが...

Vueはechartを使用してラベルと色をカスタマイズします

この記事では、参考までに、echartを使用してタグと色をカスタマイズするVueの具体的なコードを紹...

HTML 特殊文字エンコーディング CSS3 コンテンツに関する簡単な説明:「私は特別なシンボルです」

プロジェクトで使用されている特殊文字とアイコンHTMLコードXML/HTML コードコンテンツをクリ...

自動行折り返し機能付き CSS Flex レイアウトのサンプル コード

フレックス コンテナーを作成するには、要素に display: flex プロパティを追加するだけで...

JavaScript でローカル変数をグローバル変数に変換する方法

まず関数の自己呼び出しを知る必要がある関数の自己呼び出し - 自己呼び出し関数1 回限りの関数 - ...

CSS で左上の三角形を作成するいくつかの方法の詳細な説明

今日は、CSS を使用して左上の三角形を記述するいくつかの方法を紹介します。概略図(幅と高さを60p...

よく使われるCSSカプセル化方法の概要

1. pc-reset PCスタイルの初期化 /* 正規化.css */ html{ 行の高さ: 1...

JavaScript でのモグラ叩きゲームの実装

この記事では、モグラ叩きゲームを実装するためのJavaScriptの具体的なコードを参考までに紹介し...

JavaScript での正規表現の使用について詳しく学ぶ

目次1. 正規表現とは何か1. 正規表現の特徴2. 正規表現の使用2. 正規表現における特殊文字1....

ログインと登録を実現するSpringboot+VUE

この記事の例では、ログインと登録を実装するためのspringboot+VUEの具体的なコードを参考ま...

Linux ssh サービス情報と実行ステータスを表示する方法

Linux での ssh サービス構成など、ssh サーバー構成に関する記事は多数あります。ここでは...

HTML入力で値が変更されたときにリスナーイベントを追加することの簡単な分析

達成される効果多くの場合、入力ボックスの値の変化をリアルタイムで監視し、ブラウザを誘導してウェブサイ...

MySQL パーティション テーブルに関するパフォーマンス バグ

目次2. pt-pmapを使用したスタック分析3. このコラムのボトルネックポイントの分析4. パー...

Presto をインストールし、Docker で Hive を接続する詳細なプロセス

1. はじめにPresto は、ギガバイトからペタバイトに及ぶデータ ソースに対してインタラクティブ...

中国語でのNginx設定パラメータの詳細な説明(負荷分散とリバースプロキシ)

PS: 最近、nginx を詳細に紹介している <<High-Performance ...