ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース7.0
E05176-02
  目次へ
目次
索引へ
索引

前へ
前へ
次へ
次へ
 

集計関数

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

選択リストまたは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つ以上の列に対して指定できます。

説明

例3.10

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

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

< 6461.68 >

例3.11

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

Command> SELECT MAX (salary) FROM employees;

< 24000 >

1 row found.

例3.12

この例では、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 Aggregates;

Prepared Statement:

  Columns:

    EXP                             BINARY_DOUBLE