SQL > SQL コマンド > Group By

関数の話にもどります。 SUM コマンドを使って、すべての Sales (売上)を計算しましたね。ここで、それぞれの店 (Store_Name) の売上 (Sales)を計算する場合、どうしたらいいでしょうか。そういった場合は、やるべきことが二つ: 一つめは、 store_name 及び Sales の二フィールドを選ぶこと。二つめは、すべてのsales を確かめるために、store_name によりそれぞれ計算すること。そのプログラミングは次の通りになります。

SELECT "フィールド1", SUM("フィールド2")
FROM "テーブル名"
GROUP BY "フィールド1";

例えば、

Store_Information テーブル
Store_Name Sales Txn_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 句に入れます。

SQL HAVING >>



Copyright © 2017   1keydata.com   All Rights Reserved