命令格式
combinations(array(T), n)
参数说明
-
array:为输入数组。
-
n:元数。
返回值说明
返回输入数组元素的N元组合组成的数组。
-
如果输入数组没有重复项,则返回N元子集数组。子集是确定的但顺序不保证,子集中元素是确定的但顺序不保证。
-
目前n的值默认不能大于5(可通过设置odps.sql.max.combination.length值进行调整), 生成总子集数量默认不能大于100000(可通过设置odps.sql.max.combinations值进行调整)。
-
如果n大于输入数组元素数,则返回数组为空。
示例
-
SELECT combinations(array('foo', 'bar', 'boo'),2);
返回结果如下:
[['foo', 'bar'], ['foo', 'boo']['bar', 'boo']]
-
SELECT combinations(array(1,2,3,4,5),3);
返回结果如下:
[[1, 2, 3], [1, 2, 4], [1, 3, 4], [2, 3, 4], [1, 2, 5], [1, 3, 5], [2, 3, 5], [1, 4, 5], [2, 4, 5], [3, 4, 5]]
-
SELECT combinations(array(1,2,2),2);
返回结果如下:
[[1,2], [1,2], [2,2]]
相关函数
COMBINATIONS函数属于复杂类型函数,更多对复杂类型数据(例如ARRAY、MAP、STRUCT、JSON数据)的处理函数请参见复杂类型函数。
内容没看懂? 不太想学习?想快速解决? 有偿解决: 联系专家
阿里云企业补贴进行中: 马上申请
腾讯云限时活动1折起,即将结束: 马上收藏
同尘科技为腾讯云授权服务中心。
购买腾讯云产品享受折上折,更有现金返利:同意关联,立享优惠
转转请注明出处:https://www.yunxiaoer.com/157499.html