array_cum_sum
功能
对数组中的元素进行向前累加。
语法
array_cum_sum(array(bigint))
array_cum_sum(array(double))
参数说明
array
:需要处理的数组。支持的数据类型为 BIGINT(8 字节有符号整型)和 DOUBLE (8 字节浮点数)。
返回值说明
返回和输入数组类型相同的数组。
示例
示例一:对数组中的元素向前累加。
select array_cum_sum([11, 11, 12]);
+---------------------------+
| array_cum_sum([11,11,12]) |
+---------------------------+
| [11,22,34] |
+---------------------------+
示例二:与 CAST 函数搭配使用。
select array_cum_sum([cast(11.33 as double),cast(11.11 as double),cast(12.324 as double)]);
+---------------------------------------------------------------------------------------+
| array_cum_sum([CAST(11.33 AS DOUBLE), CAST(11.11 AS DOUBLE), CAST(12.324 AS DOUBLE)]) |
+---------------------------------------------------------------------------------------+
| [11.33,22.439999999999998,34.763999999999996] |
+---------------------------------------------------------------------------------------+
示例三:数组中包含 null 值。
select array_cum_sum([null,1,2]);
+---------------------------------+
| array_cum_sum([null,1,2]) |
+---------------------------------+
| [null,1,3] |
+---------------------------------+
示例四:输入数组为 NULL。
select array_cum_sum(null);
+---------------------------------+
| array_cum_sum(NULL) |
+---------------------------------+
| NULL |
+---------------------------------+