日常の開発タスクでは、MYSQL の GROUP BY グループ化を使用して、データ テーブルのグループ フィールドに基づいて統計データを取得することがよくあります。
たとえば、学生のコース選択テーブルがあります。テーブルの構造は次のとおりです:
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 サイトの他の関連記事を参照してください。