メインコンテンツまでスキップ

array_sum

array_sum

説明

配列内のすべての要素を合計します。

StarRocks 2.5以降、array_sum()はラムダ式を引数として受け取ることができます。ただし、ラムダ式と直接連携することはできません。array_map()から変換された結果上で動作する必要があります。

構文

array_sum(array(type))
array_sum(lambda_function, arr1, arr2...) = array_sum(array_map(lambda_function, arr1, arr2...))

パラメータ

  • array(type): 合計を計算したい配列。配列の要素は以下のデータ型をサポートしています:BOOLEAN、TINYINT、SMALLINT、INT、BIGINT、LARGEINT、FLOAT、DOUBLE、DECIMALV2。
  • lambda_function: array_sum()に使用される対象の配列を計算するためのラムダ式。

返り値

数値の値を返します。

ラムダ式を使用しないarray_sumの使用例

mysql> select array_sum([11, 11, 12]);
+-----------------------+
| array_sum([11,11,12]) |
+-----------------------+
| 34 |
+-----------------------+

mysql> select array_sum([11.33, 11.11, 12.324]);
+---------------------------------+
| array_sum([11.33,11.11,12.324]) |
+---------------------------------+
| 34.764 |
+---------------------------------+

ラムダ式を使用したarray_sumの使用例

-- [1,2,3] を [1,2,3] で掛けて要素を合計します。
select array_sum(array_map(x->x*x,[1,2,3]));
+---------------------------------------------+
| array_sum(array_map(x -> x * x, [1, 2, 3])) |
+---------------------------------------------+
| 14 |
+---------------------------------------------+

キーワード

ARRAY_SUM,ARRAY