グループごとに集計する

グループごとに集計する

GROUP BY句
SELECT * FROM テーブル GROUP BY フィールド;

テーブル内のデータをグループごとに集計するにはGROUP BY句を使用する。
通常、集計関数と併用し、SQL文の最後にGROUP BYに続けて基準とするフィールドを指定する。

元テーブル

select 商品ID, count(販売数) as 販売回数, sum(販売数) as 販売総数 from SQL注文 group by 商品ID;

他のテーブルにあるフィールドを元にグループ化(結合してグループ化)

結合を行うSQL文に対しても、GROUP BY句を使用してグループ化が可能。
以下のテーブルを元に「商品別売上合計」を計算する。

結合元テーブル

SQL商品

SQL商品

select first(SQL商品.商品名) as 商品名,first(SQL商品.単価) as 単価,sum(SQL注文.販売数) as 販売数,sum(SQL商品.単価 * SQL注文.販売数) as 売上 from SQL注文 inner join SQL商品 on SQL注文.商品ID = SQL商品.商品ID group by SQL注文.商品ID;