グループごとに集計する
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句を使用してグループ化が可能。
以下のテーブルを元に「商品別売上合計」を計算する。
結合元テーブル
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;