sumMapWithOverflow
根据key
数组中指定的键对value
数组进行求和。返回一个包含两个数组的元组:按顺序排列的键和对应键的求和值。它与sumMap函数的不同之处在于,它会处理溢出情况——即对求和返回与参数数据类型相同的数据类型。
语法
sumMapWithOverflow(key <Array>, value <Array>)
Array type.sumMapWithOverflow(Tuple(key <Array>, value <Array>))
Tuple type.
参数
传递键和值数组的元组与单独传递键数组和值数组是同义的。
备注
对于每个需要求和的行,key
和value
中的元素数量必须相同。
返回值
- 返回一个包含两个数组的元组:按顺序排列的键和对应键的求和值。
示例
首先我们创建一个名为sum_map
的表,并插入一些数据。键和值的数组分别存储在名为statusMap
的Nested类型的列中,以及共同存储在名为statusMapTuple
的tuple类型的列中,以说明上述两种不同语法的使用。
查询:
如果我们使用sumMap
、sumMapWithOverflow
以及toTypeName
函数查询表格,我们可以看到对于sumMapWithOverflow
函数,求和值数组的数据类型与参数类型相同,均为UInt8
(即进行了溢出的求和)。而对于sumMap
,求和值数组的数据类型已从UInt8
更改为UInt64
,以防止出现溢出。
查询:
同样,我们也可以使用元组语法得到相同的结果。
结果:
另请参见