SQL GROUP BY


SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL 関数
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL 別名
SQL 結合
SQL 外部結合
SQL SUBQUERY
SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL CONCATENATE
SQL SUBSTRING
SQL TRIM


サイトのご案内

  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 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 >>