SQL の基本 | DML: データ操作言語 | GROUP BY
GROUP BY 句は、同じ値を持つ行をグループ化するために使用する。
集計関数の話に戻る。SUM コマンドを使用してすべての Sales (販売) を計算したとする。ここで、それぞれの店舗 (Store_Name) の販売 (Sales) を計算するにはどうすればよいだろうか。この場合は 2 つのことを行う。まず、store_name と Sales の 2 つのフィールドを選択する。次に、sales を store_name ごとに計算する。構文は次のとおりである。
GROUP BY 構文
SELECT "フィールド1", SUM("フィールド2")
FROM "テーブル名"
GROUP BY "フィールド1";
たとえば、次のようにする。
store_information テーブル
| store_name | sales | txn_date |
|---|---|---|
| Los Angeles | 1500 | Jan-05-2018 |
| San Diego | 250 | Jan-07-2018 |
| Los Angeles | 300 | Jan-08-2018 |
| Boston | 700 | Jan-08-2018 |
次のようにコマンドを入力する。
SELECT store_name, SUM(sales)
FROM store_Information
GROUP BY store_name;
結果は次のとおりである。
| store_name | SUM(sales) |
|---|---|
| Los Angeles | 1800 |
| San Diego | 250 |
| Boston | 700 |
複数のフィールドを選択し、そのうち少なくとも 1 つに関数の計算が含まれる場合は、GROUP BY コマンドを使用しなければならない。この場合、GROUP BY によって他のフィールドを確認する。つまり、関数が含まれるフィールドを確認した後、他の選択フィールドを GROUP BY 句に入れる。