データベース千夜一夜第21回

データの集計(3)~集計関数とグループ化 長谷川裕行
有限会社 手國堂

集計関数の使用例

各集計関数の使用例を示しておきます。


- COUNT関数 -

レコード件数を返します。

引数を指定すると、そのフィールドに値の入っている(Nullではない)レコードの数をカウントします。単にレコード件数を求めるだけなら、引数に*を与えます。

 SELECT COUNT(*) FROM 累積売上_fx

この場合、Nullを含むフィールドがあっても1件と数えます。

Nullをカウントしたくない場合は、以下のように引数にフィールドを明示します。

 SELECT COUNT(商品ID) AS 取引件数 FROM 累積売上_fx

このようにすると、「商品ID」フィールドに値の入っている(=レコードとして有効な)レコードの件数が取得できます。


上のSQLではテーブル「累積売上_fx」を対象としているため、COUNT関数では取引の件数が表示されます。COUNT関数は、引数に指定したフィールドの値が“Null”でないレコードの件数を数えます。従って、取引があればNullにならないフィールドであればどれでも構わないため、「伝票番号」や「伝票日付」フィールドを引数としても構いません。

 SELECT COUNT(伝票番号) AS 取引件数 FROM 累積売上_fx

テーブル「商品_mr」を対象とすれば、取扱商品の点数(種類数)が取得できます。

 SELECT COUNT(商品ID) AS 商品点数 FROM 商品_mr

テーブル「得意先_mr」が対象なら顧客数が取得できます。

 SELECT COUNT(お客様ID) AS 顧客数 FROM 得意先_mr




- SUM関数 -

引数に指定したフィールドの値の合計を返します。

テーブル「累積売上_fx」から「金額」フィールドの合計を求めれば、売上金額の総計が取得できます。

 SELECT SUM(金額) AS 売上合計 FROM 累積売上_fx



- AVG関数 -

引数に指定したフィールドの値の平均を返します。

テーブル「累積売上_fx」から「金額」フィールドの平均を求めれば、売上総額の平均値が取得できます。

 SELECT AVG(金額) AS 金額平均 FROM 累積売上_fx



- MAX/MIN関数 -

引数に指定したフィールドの値の中から、MAXは最大値、MINは最小値を返します。

テーブル「累積売上_fx」から「金額」フィールドの最大値(最高額)と最小値(最少額)を求めます。

 SELECT MAX(金額) AS 最高額 FROM 累積売上_fx
 SELECT MIN(金額) AS 最少額 FROM 累積売上_fx



上記の例を見ればお分かりのように、レコード件数を求めるCOUNT関数以外の集計関数は、基本的に数値フィールド(整数、小数、実数、通貨、日付/時刻)を対象とします。MAXとMINでは日付/時刻型を使って、最終日や最短時間などを求めることもできます。



トップページ
SUM関数とグループ化
集計関数の使用例
COUNT関数
SUM関数
AVG関数
MAX/MIN関数
グループ化と集計
HAVING句による絞り込み
グループ化と集計の例
DISTINCTオプション
あとがき
Copyright © MESCIUS inc. All rights reserved.