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);