指定したカラムの値に注目してレコードをグループに分けることが出来ます。先のグループ関数と組み合わせてグループごとの集計を行うことが出来ます。
グループ化にはGROUP BY句を使います。
GROUP BY句の書式
GROUP BY カラム名 [ ,カラム名… ]
カラム名はカンマ区切りで複数記述することが出来ます。最初に書いたカラムの値が同じものをグループ化し、さらにそれぞれのグループの中で2番目のカラムの値が同じものをグループ化し…となります。
GROUP BY句の例
SQL
SELECT subject AS `科目` ,ROUND(AVG(score),1) AS `平均点`
FROM examination GROUP BY subject;グループ化をする場合、グループ化に使用したカラムおよびグループ関数による計算結果のみ表示することが出来ます。
実行結果

練習問題
テーブルexaminationについて、以下の結果を得るSQLを記述しなさい。
1.学生(student_id)ごとに平均点(scoreの平均値)を求める。平均値は小数第1位までで四捨五入すること。

2.科目(subject)ごとに受験者数(レコード数)を求める。



コメント