ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース11.2.1
B56051-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関数は、数値データ型に対してのみ適用できます。
MAX 引数の値の最大値を検索します(英数字型のASCII比較)。NULL値は無視されます。MAXは、数値、文字およびBINARYデータ型に適用できます。
MIN 引数の値の最小値を検索します(英数字型のASCII比較)。NULL値は無視されます。MINは、数値、文字およびBINARYデータ型に適用できます。
SUM 引数の値の合計を計算します。NULL値は無視されます。SUMは、数値データ型に対してのみ適用できます。
COUNT * WHERE句を満たす行の数を、NULL値の行も含めてカウントします。結果のデータ型はTT_INTEGERです。表の行数の詳細は、SYS.TABLESのNUMTUPSフィールドの説明を参照してください。
COUNT

ColumnName

特定の列のすべての行をカウントします。NULL値を含む行はカウントされません。結果のデータ型はTT_INTEGERです。表の行数の詳細は、SYS.TABLESのNUMTUPSフィールドの説明を参照してください。
ALL 集計関数の引数に重複する行を含めます。ALLまたはDISTINCTのいずれも指定しない場合、ALLとみなされます。
DISTINCT 集計関数の引数から、重複する列の値を削除します。2つ以上の列に対して指定できます。

説明

次の項目の詳細は、第1章「データ型」を参照してください。

HRスキーマで従業員の平均給与を計算します。CASTを使用して平均を列のデータ型としてキャストします。

Command> SELECT CAST(AVG (salary) AS NUMBER (8,2)) FROM employees;
< 6461.68 >

HRスキーマで従業員の最大給与を計算します。

Command> SELECT MAX (salary) FROM employees;
< 24000 >
1 row found.

この例では、DESCRIBEを使用して、SUM集計使用時に返されるデータ型を示します。 表aggregatesが作成され、別のデータ型の列が定義されます。

Command> CREATE TABLE aggregates (col1 TT_TINYINT, col2 TT_SMALLINT, col3 TT_INTEGER, col4 TT_BIGINT, col5 NUMBER (4,2),
col6 TT_DECIMAL (6,2), col7 BINARY_FLOAT, col8 BINARY_DOUBLE);
Command> DESCRIBE SELECT SUM (col1) FROM aggregates;
Prepared Statement:
  Columns:
    EXP                             TT_INTEGER
Command> DESCRIBE SELECT SUM (col2) FROM aggregates;
Prepared Statement:
Columns:
    EXP                             TT_INTEGER
Command> DESCRIBE SELECT SUM (col3) FROM aggregates;
Prepared Statement:
Columns:
    EXP                             TT_INTEGER
Command> DESCRIBE SELECT SUM (col4) FROM Aggregates;
Prepared Statement:
Columns:
    EXP                             TT_BIGINT
Command> DESCRIBE SELECT SUM (col5) FROM aggregates;
Prepared Statement:
Columns:
    EXP                             NUMBER
Command> DESCRIBE SELECT SUM (col6) FROM aggregates;
Prepared Statement:
Columns:
    EXP                             TT_DECIMAL (40,2)
Command> DESCRIBE SELECT SUM (col7) FROM aggregates;
Prepared Statement:
Columns:
    EXP                             BINARY_FLOAT
Command> DESCRIBE SELECT SUM (col8) FROM Aagregates;
Prepared Statement:
  Columns:
    EXP                             BINARY_DOUBLE