複数のフィールドをグループ化するMySQLグループ

複数のフィールドをグループ化するMySQLグループ

日常の開発タスクでは、データ テーブル内のグループ化フィールドに基づいて統計データを取得するために、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

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

複数のフィールドをグループ化するための mysql group by に関する上記の記事は、私が皆さんと共有したいことのすべてです。これが皆さんの参考になれば幸いです。また、123WORDPRESS.COM をサポートしていただければ幸いです。

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

<<:  ソースコードから、Vue2がデータとメソッドを直接取得できる理由がわかる

>>:  deepin20 で NVIDIA クローズドソース ドライバーをインストールするための詳細な手順

推薦する

Vue Routerはバックグラウンドデータに応じて異なるコンポーネントをロードします

目次実際のプロジェクトで遭遇する要件実装が間違っているところもある私は個人的に、実装するより良い方法...

MySQLの半同期の詳細な説明

目次序文MySQL マスタースレーブレプリケーションMySQL でサポートされているレプリケーション...

MySQL InnoDB 監視 (システム層、データベース層)

MySQL InnoDB 監視 (システム層、データベース層) MySQL の監視に関しては、My...

歴史的な Linux 画像処理および修復ソリューション

従来の Linux イメージで作成された ECS クラウド サーバーには、NTP と YUM が設定...

MySql データ型チュートリアル例の詳細な説明

目次1. 概要2. MySQLデータ型の詳細な説明1) 文字列型2) 整数型3) 浮動小数点型4) ...

Dockerのデフォルトネットワークセグメントを変更する実装方法の分析

背景同社のサーバーはすべて Alibaba Cloud ECS ホストを購入しています。デフォルトの...

SQL 挿入文の書き方の説明

方法 1: INSERT INTO t1(field1,field2) VALUE(v001,v00...

CSS で要素を垂直方向に中央揃えする 7 つの方法

【1】中央の要素の幅と高さを知る絶対値 + 負のマージンコードの実装 .wrapBox5{ 幅: 3...

MySQLでよく使われる演算子と関数の概要

まずデータ テーブルを作成しましょう。 使用テスト; テーブル「従業員」を作成します( emp_no...

Ubuntu 20.04 ファイアウォール設定の簡単なチュートリアル (初心者)

序文ますます便利になった今日のインターネット社会では、さまざまなインターネット ランサムウェア ウイ...

Reactでwindow.print()を使用した際にページが応答しなくなる問題の解決記録について

目次1. 問題の背景: 2. 問題の原因: 3. 問題解決:要約: 1. 問題の背景: window...

HTML チュートリアル: よく使われる HTML タグのコレクション (5)

導入された HTML タグは、必ずしも XHTML 仕様に完全に準拠しているわけではありません。実際...

一定期間の日ごと、時間ごとの統計データを取得するMySQLの詳しい説明

毎日の統計情報を取得するプロジェクトを実行する際、プロジェクト ログを分析する必要があります。要件の...

jQueryはネストされたタブ機能を実装します

この記事では、ネストされたタブ機能を実装するためのjQueryの具体的なコードを参考までに紹介します...