スポンサーリンク

2008-01-20

Tips127 - グループ化したフィールドの合計計算 GROUP BY、SUM

グループ化した数値の合計を求めたいことはよくあります。
例えば下のT_販売テーブルの場合、商品名でグループ化した場合、その商品の合計数量や合計金額を求めることはよくあります。

テストテーブル例
[T_販売]
商品名 数量 単価
ソファー 2 \10,000
ベッド  1 \30,000
ソファー 2 \10,000
ソファー 2 \10,000
ベッド  1 \30,000
デスク  1 \50,000

Dim SQL As String
Dim rs As Recordset
SQL = "SELECT 商品名,SUM(数量) AS 合計数,SUM(数量*単価) AS 合計金額 FROM T_販売 GROUP BY 商品名"
Set rs = CurrentDb.OpenRecordset(SQL)
これを実行すると、下記のデータが返ります。
ソファー 6 60000
デスク  1 50000
ベッド  2 60000

それぞれの商品が集計され、合計数量と合計金額が所得できました。