sumMapWithOverflow
指定された key
配列に従って value
配列の合計を計算します。ソートされた順序のキーと、対応するキーの合計値の2つの配列のタプルを返します。
これは sumMap 関数とは異なり、オーバーフローを伴う合計を行います。つまり、合計のデータ型は引数のデータ型と同じです。
構文
sumMapWithOverflow(key <Array>, value <Array>)
Array type。sumMapWithOverflow(Tuple(key <Array>, value <Array>))
Tuple type。
引数
キーと値の配列のタプルを渡すことは、鍵の配列と値の配列を別々に渡すことの同義です。
注記
key
と value
の要素数は、合計を取る各行で同じでなければなりません。
戻り値
- ソートされた順序のキーと、対応するキーの合計値の2つの配列のタプルを返します。
例
まず、sum_map
と呼ばれるテーブルを作成し、いくつかのデータを挿入します。キーと値の配列は、Nested 型の statusMap
というカラムとして別々に保存され、2つの異なる構文の使用を示すために tuple 型の statusMapTuple
というカラムとして一緒に保存されます。
クエリ:
テーブルを sumMap
と sumMapWithOverflow
の配列タイプ構文、および toTypeName
関数を使用してクエリすると、sumMapWithOverflow
関数の場合、合計値配列のデータ型が引数の型と同じであることがわかります。両方とも UInt8
です(つまり、オーバーフローを伴う合計が行われました)。 sumMap
に対しては、合計値のデータ型が UInt8
から UInt64
に変更され、オーバーフローが発生しないようになっています。
クエリ:
同じ結果を得るために、タプル構文を使用することもできます。
結果:
関連項目