MULTIMAP_FROM_ENTRIES

返回由结构体数组中的Key和包含所有Value的数组所组成的Map。

命令格式

	multimap_from_entries(array<struct<K, V>>)

参数说明

array<struct<K, V>>:为Key/Value组成的结构体数组。

返回值说明

返回由结构体数组中的Key和包含所有Value的数组所组成的Map,Map格式为map<K, array<V>>

  • 在返回的Map中每个Key可以与多个值相关联,这些相关联的值存放在一个数组里。

  • 如果数组为Null,返回Null值。

  • 如果结构体中的字段(StructField)数量不是2或Key包含Null值,则抛出异常。

示例

SELECT multimap_from_entries(array(struct(1, 'a'), 
                                     struct(2, 'b'), 
                                     struct(1, 'c')));

返回结果如下:

{1 : ['a', 'c'],  2: ['b']}

相关函数

MULTIMAP_FROM_ENTRIES函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数