跳到主要内容

ARRAY_CUM_SUM

描述

返回数组的累计和。数组中的NULL值会被跳过,并在结果数组的相同位置设置NULL

语法

ARRAY_CUM_SUM(<arr>)

参数

参数说明
<arr>用于计算累加和的数组

返回值

返回一个数组。特殊情况:

  • 数组中的NULL值会被跳过,并在结果数组的相同位置设置NULL

举例

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] |
+-----------------------+-----------------------+