データ集計(基本形)
検索結果を集計する
GROUP BY句を使用することで、SELECT句で取得した結果をグループ化して集計することが可能です。
ただし、SELECT句に記述できるのは、GROUP BY句で指定した列と集計関数のみとなるため注意が必要です。
SELECT 集計キー1, 集計キー2 ・・・ 集計関数(列1), 集計関数(列2) ・・・ FROM テーブル1
GROUP BY 集計キー1, 集計キー2;
それではサンプルを見てみましょう。
以下のようなsaleテーブルがあります。
sale_day | item_cd | count | emp_cd |
---|---|---|---|
20191104 | 001 | 10 | A00001 |
20191104 | 001 | 5 | A00003 |
20191105 | 002 | 3 | A00003 |
20191106 | 002 | 2 | A00004 |
item_cd列でグループ化し、count列のデータの合計を集計するSQLです。
1 2 3 |
SELECT item_cd, SUM(count) FROM sale GROUP BY item_cd ORDER BY item_cd; |
上記を実行し、抽出された結果がこちらです。
item_cd | SUM(count) |
---|---|
001 | 15 |
002 | 5 |
item_cdがグループ化され、それぞれのcount列の合計値が集計されました。
今回のようにORDER BY句を併せて使用する場合は、GROUP BY句の後に指定するようにしましょう。
以上が、検索結果を集計する際に使用する「GROUP BY」の使い方です。
GROUP BYは実務上の使用頻度が高いのでぜひ参考にしてみてください。