arrays - Presto SQL - 如何获得数组的所有可能组合?

标签 arrays database hive presto

我想要一组给定数组中数字的所有可能组合。

我尝试使用 presto 的一些预定义函数,例如 array_agg(x)

Input : [1,2,3,4]
Output
when n=2 : [[1,2],[1,3],[1,4],[2,3],[2,4],[3,4]]
when n=3 : [[1,2,3],[1,2,4],[1,3,4],[2,3,4]]
when n=4 : [[1,2,3,4]] or [1,2,3,4]

最佳答案

combinations(array(T), n) 功能,它完全符合您的要求:

select combinations(array[1,2,3,4],2);

关于arrays - Presto SQL - 如何获得数组的所有可能组合?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56540393/

相关文章:

c - 为什么不能将指针分配给数组?

C# 数组在特定范围内的最小值

Javascript 变量显示未定义

sql - 在 SQLite 中分页结果的最佳方式

php - 如何缓存个性化新闻提要以最小化数据库读取查询?

hadoop - Hive 授予对数据库范围的权限

hadoop - 带有分区的外部Hive表无法读取文件

java - Java 对象数组创建后的内存大小是多少?

sql - 失败 : ParseException line 1:36 cannot recognize input near '1987'

database - 如何设计处理 Order、OrderItem、Return、Refund、Exchange 的数据库?