MySQLでグループ化クエリを実行するには
MySQLでは、GROUP BYキーワードを使ってグループ化クエリが行えます。構文は次の通りです。
列1, 列2, …を選択する
テーブル名から
where
GROUP BY 列名1, 列名2, …
HAVING 条件
ORDER BY 列名1, 列名2, …;
GROUP BY句はグループ化の対象となる列を指定する句であり、複数の列を指定してグループ化できます。HAVING句は、グループ化した結果に対してWHERE句のようなフィルタリングを行う句であり、集計関数が利用できます。ORDER BY句は、グループ化した結果に対してソートを行う句です。
例えば、クラスごとに学生一覧をグループ化し、クラスごとの生徒の数をカウントするには、次の文を使用できます。
クラス、COUNT(*) as count 選択
FROM students
class ごとにグループ化します。