Skip to main content

ARRAY_CUM_SUM

Description​

Get the cumulative sum of an array (NULL values are skipped). If the array contains NULL values, then NULL is set at the same position in the result array.

Syntax​

ARRAY_CUM_SUM(<arr>)

Parameters​

ParameterDescription
<arr>The array to calculate the cumulative sum from

Return Value​

Returns an array. Special cases:

  • NULL values in the array are skipped, and NULL is set at the same position in the result array.

Example​

create table array_type_table(
k1 INT,
k2 Array<int>
)
duplicate key (k1)
distributed by hash(k1) buckets 1
properties(
'replication_num' = '1'
);
insert into array_type_table values (0, []),
(1, [NULL]),
(2, [1, 2, 3, 4]),
(3, [1, NULL, 3, NULL, 5]);
select k2, array_cum_sum(k2) from array_type_table;
+-----------------------+-----------------------+
| k2 | array_cum_sum(`k2`) |
+-----------------------+-----------------------+
| [] | [] |
| [NULL] | [NULL] |
| [1, 2, 3, 4] | [1, 3, 6, 10] |
| [1, NULL, 3, NULL, 5] | [1, NULL, 4, NULL, 9] |
+-----------------------+-----------------------+