ホームページ > データベース > mysql チュートリアル > mysql 複数の列をグループ化する

mysql 複数の列をグループ化する

(*-*)浩
リリース: 2020-09-15 10:43:38
オリジナル
3010 人が閲覧しました

日常の開発タスクでは、MYSQL の GROUP BY グループ化を使用して、データ テーブルのグループ フィールドに基づいて統計データを取得することがよくあります。

mysql 複数の列をグループ化する

たとえば、学生のコース選択テーブルがあります。テーブルの構造は次のとおりです:

Table: Subject_Selection
 
 
Subject   Semester   Attendee
---------------------------------
ITB001    1          John
ITB001    1          Bob
ITB001    1          Mickey
ITB001    2          Jenny
ITB001    2          James
MKB114    1          John
MKB114    1          Erica
ログイン後にコピー

何人の学生がサインアップしたかをカウントしたいと考えています。コースごとに次の SQL を使用します

SELECT Subject, Count(*)
FROM Subject_Selection
GROUP BY Subject
ログイン後にコピー

次の結果が得られました:

Subject    Count
------------------------------
ITB001     5
MKB114     2
ログイン後にコピー

テーブルには、5 人の学生が ITB001 を選択し、2 人の学生が MKB114 を選択したことが記録されているためです。

この結果の理由は次のとおりです。
GROUP BY X は、同じ X フィールド値を持つすべてのレコードをグループに入れることを意味します。
GROUP BY X、Y についてはどうですか?
GROUP BY X, Y は、同じ X フィールド値と Y フィールド値を持つすべてのレコードをグループに入れることを意味します。

次に、各学期に各科目を選択した人の数をカウントするよう求め、次の SQL を適用します:

SELECT Subject, Semester, Count(*)
FROM Subject_Selection
GROUP BY Subject, Semester
ログイン後にコピー

上記の SQL は、Subject_Selection テーブル内のデータをグループ化することを意味します。同じ件名と学期フィールド値を持つデータを同じグループに追加し、各グループのデータに集計関数 (COUNT、SUM、AVG など) を適用します。

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

Subject    Semester   Count
------------------------------
ITB001     1          3
ITB001     2          2
MKB114     1          2
ログイン後にコピー

表のレコードから、このグループ化結果が正しいことがわかります。前期では 3 人の学生が ITB001 を選択し、前期では 2 人の学生が ITB001 を選択しました。後期は IB001、前期は
と 2 名が MKB114 を選択、後期は誰も MKB114 を選択しませんでした。

概要:

GROUP BY を使用して MYSQL のテーブル内のデータをグループ化する場合、
GROUP BY X は、同じ X フィールド値を持つすべてのレコードを 1 つのグループに入れることを意味します。ここで、
GROUP BY X, Y は、同じ X フィールド値と Y フィールド値を持つすべてのレコードをグループに入れることを意味します

以上がmysql 複数の列をグループ化するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート