ヘッダーをスキップ

Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド リリース6.0 B25770-01 |
| 目次 | 索引

前へ | 次へ |

## 集計関数

集計関数には、引数に指定した行セットのデータに基づいて算出される値を指定します。カッコで囲まれたパラメータは式を表します。

選択リストまたはHAVING句に集計関数を指定できます。詳細は、「INSERT SELECT」を参照してください。式の値は、WHERE句の条件を満たす各行を使用して計算されます。

SQL構文
{AVG ({Expression | [ALL | DISTINCT] ColumnName})
MAX ({Expression | [ALL | DISTINCT] ColumnName | ROWID})
MIN ({Expression | [ALL | DISTINCT] ColumnName | ROWID})
SUM ({Expression | [ALL | DISTINCT] ColumnName})
COUNT ({ * | [ALL | DISTINCT] ColumnName | ROWID})
}

Expression | 集計関数の引数を指定します。式自体を集計関数として指定することはできません。
AVG | 引数の値の平均値を計算します。NULL値は無視されます。AVG関数は、数値データ型に対してのみ適用できます。結果は列と同じデータ型になります。なお、AVGをTIMEデータ型に適用することはできません。結果のINTEGER型をFLOAT型にCASTできます。
MAX | 引数の値の最大値を検索します(英数字型のASCII比較)。NULL値は無視されます。MAXは数値、英数字、BINARYデータ型に適用することができます。結果は引数と同じデータ型になります。なお、NCHARデータ型の列では、MAXはサポートされません。
MIN | 引数の最小値を検索します(英数字型のASCII比較)。NULL値は無視されます。MINは数値、英数字、BINARYデータ型に適用できます。結果は引数と同じデータ型になります。なお、NCHARデータ型の列では、MINはサポートされません。
SUM | 引数の値の合計を計算します。NULL値は無視されます。SUMは、数値データ型に対してのみ適用できます。結果は列と同じデータ型になります。SUMをTIMEデータ型に適用することはできません。
COUNT * | WHERE句を満たす行の数を、NULL値の行も含めてカウントします。結果はINTEGERデータ型になります。表の行数の詳細は、SYS.TABLESのNUMTUPSフィールドの説明を参照してください。『Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド』を参照してください。
COUNT ColumnName | 特定の列のすべての行をカウントします。NULL値を含む行はカウントされません。結果はINTEGERデータ型になります。表の行数の詳細は、SYS.TABLESのNUMTUPSフィールドの説明を参照してください。『Oracle TimesTen In-Memory Database APIおよびSQLリファレンス・ガイド』を参照してください。
ALL | 集計関数の引数に重複する行を含めます。ALLまたはDISTINCTのいずれも指定しない場合は、ALLとみなされます。
DISTINCT | 集計関数の引数から、重複する列の値を削除します。2つ以上の列に対して指定できます。

説明

- GROUP BY句を使用しない空の表で集計関数を計算すると、結果は次のようになります。

- COUNTは0を返します。
- AVG、SUM、MAX、MINはNULLを返します。

- 空のグループまたはグループ化された空の表（GROUP BYを使用）で集計関数を計算すると、結果は次のようになります。

- COUNTは何も返しません。
- AVG、SUM、MAX、MINは何も返しません。

- 次の情報については、「データ型」を参照してください。

- 集計関数の評価において実行される切捨てとデータ型の変換。
- 数値引数を含む集計関数の精度とスケール。
- 集計関数の結果のデータ型の制御。

- AVGまたはSUMを使用する集計関数をINTEGER、SMALLINT、TINYINTに適用すると、次のようになります。

- 結果のデータ型はINTEGER型になります。

- AVGまたはSUMを使用する集計関数をBIGINTに適用すると、次のようになります。

- 結果のデータ型はBIGINT型になります。

- AVGとSUMは、数値データ型に対してのみ適用できます。

##### 例11.9

Purchasing.SupplyPrice表の各項目の平均価格を計算します。

    SELECT PartNumber, AVG(UnitPrice)
    FROM Purchasing.SupplyPrice
    GROUP BY PartNumber;