今回掲載の内容
- SQLで集計を行うには?
- 「GROUP BY」句の制約
- 列名の指定「AS」
- 特定の集計行のみの表示
SQLで集計を行うには?
今回は、SQL文での集計の方法(GROUP BY)を説明します。前回までに説明した「SELECT」文では、データを取得し表示させた場合、表示されるデータは元のデータの一部、もしくはすべてでした。今回使用する「GROUP BY」句を使用すると、特定の列をキーにした合計値や平均値などが表示される結果となります。まずは、例1のSQL文を実行してみましょう。前回説明したとおり、「Order Details」テーブルの指定に " "( ダブル・クオーテーション)を使用していますので、注意してくださいね。
【例1】
SELECT * FROM "Order Details"
今回使用する「Order Details」テーブルの内容が表示されます。このテーブルは、ある注文(OrderID)に対して、どの製品(ProductID)を、単価いくらで(UnitPrice)、いくつ(Quantity)受注したかを記録しています。
では、このテーブルを使用して、製品ごとにいくつ注文があったか、合計を計算してみましょう。
【例2】
SELECT ProductID, Sum(Quantity) FROM "Order Details" GROUP BY ProductID
この例2のように、「GROUP BY」というキーワードに続けて、集計のキーとなる列名を指定します。この例では、「製品ごとにいくつ注文があったか」ということでしたので、集計のキーは「製品」、すなわち、「ProductID」となります。
次に、「SELECT」句の中にある、「Sum(Quantity)」という部分を見てみましょう。これは、Quantity列の合計を求める集計関数です。集計関数には、Sumのほかに次のような関数があります。
例2の「SELECT」句には、複数の集計関数を指定することも可能です。
【例3】
SELECT ProductID, Avg(UnitPrice), Sum(Quantity) FROM "Order Details" GROUP BY ProductID
「GROUP BY」句の制約
Copyright © ITmedia, Inc. All Rights Reserved.