関数の話にもどります。 SUM コマンドを使って、すべての Sales (売上)を計算しましたね。ここで、それぞれの店 (store_name) の売上 (sales)を計算する場合、どうしたらいいでしょうか。そういった場合は、やるべきことが二つ: 一つめは、 store_name 及び Sales の二フィールドを選ぶこと。二つめは、すべてのsales を確かめるために、store_name によりそれぞれ計算すること。そのプログラミングは次の通りになります。
SELECT "フィールド1", SUM("フィールド2")
FROM "テーブル名"
GROUP BY "フィールド1"
例えば、
Store_Information テーブル
| store_name |
Sales |
Date |
| Los Angeles |
$1500 |
Jan-05-1999 |
| San Diego |
$250 |
Jan-07-1999 |
| Los Angeles |
$300 |
Jan-08-1999 |
| Boston |
$700 |
Jan-08-1999 |
を入力すると、
SELECT store_name, SUM(Sales)
FROM Store_Information
GROUP BY store_name
の結果ができます。
| store_name |
SUM(Sales) |
| Los Angeles |
$1800 |
| San Diego |
$250 |
| Boston> |
$700 |
フィールドを一つ以上選び、そして、少なくともその中の一つに関数の計算が含まれた場合、 GROUP BY コマンドを使わなくてはなりません。このような場合、 GROUP BY を持つ他のフィールドをすべて確認します。即ち、関数が含まれるフィールドを確認したあと、それを GROUP BY 句に入れます。