MySQLでグループ集計 GROUP BY

特定の列を使ってグループ化し、集計する

SELECT グループ化列, 集計関数(列名) FROM テーブル名 GROUP BY グループ化列;

集計関数

・AVG →平均値
・COUNT →対象列の件数
・MAX →最大値
・MIN 最小値
・SUM 合計値

列に別名を指定

・SELECT 列名 AS 別名 FROM テーブル名;
・SELECT 列名A AS 別名A, 列名B AS 別名B FROM テーブル名;

列を算術演算してその結果の列名を指定

SELECT 算術式 AS 列名 FROM テーブル名;

列を算術演算してその結果の列名を指定する例

SELECT title AS 書名, price * 1.05 AS 税込価格 FROM books;

文字列/日付データを加工してその結果の列名を指定

SELECT 文字列関数/日付関数による式 AS 列名 FROM テーブル名;

グルーピング結果に対して条件を付与する

SELECT グループ化列, 集計関数(列名) FROM テーブル名 GROUP BY グループ化列 HAVING 条件式;

条件分岐構文

SELECT グループ化列, 算術式 AS 列名1, CASE WHEN 条件A THEN '値A' WHEN 条件B THEN '値B' ELSE '値C' END AS 列名2 FROM テーブル名 GROUP BY グループ化列;