Presto SQL - Как я могу получить все возможные комбинации массива? - PullRequest
5 голосов
/ 11 июня 2019

Я хочу все возможные комбинации чисел в данном наборе массивов.

Я попытался использовать некоторые из предопределенных функций 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]

1 Ответ

6 голосов
/ 11 июня 2019

Существует комбинация (массив (T), n) , и она выполняет именно то, что вы хотите:

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