CREATE AGGREGATE
ユーザー定義集計の作成。
構文
CREATE [OR REPLACE] AGGREGATE [IF NOT EXISTS] <keyspace>.function-name ( <arg-name> <arg-type> ) SFUNC <state-function-name> STYPE <type> FINALFUNC <final-function-name> INITCOND ( <value>,<value> )
構文の凡例
各文の構文セクションの形式には、以下のような意味があります。
- 大文字はリテラルを意味する
- 小文字は、リテラルでないことを意味する
- イタリック体は指定が任意であることを意味する
- パイプ(|)記号はORまたはAND/ORを意味する
- 省略記号(...)は繰り返し可能を意味する
- 範囲記号「(」および「)」はリテラルではなく、範囲を示す
この構文には、CQL文の終了となるセミコロンは含まれていません。
説明
ユーザー定義集計関数は、ユーザー定義関数を使用して作成できます。クエリーで返されたすべての行の集計値である1つの値を返します。
例
ユーザー定義の平均を計算する集計値を作成します。
cqlsh> CREATE OR REPLACE AGGREGATE IF NOT EXISTS average ( int ) SFUNC avgState STYPE tuple<int,bigint> FINALFUNC avgFinal INITCOND (0,0);