数组组合无重复

时间:2013-06-03 14:59:19

标签: sql postgresql combinatorics

我想从int[]

中进行组合

{2,4,6,7,8,10,13,15,16,18}应该提供以下结果:

2,4,6
2,4,7
2,4,8
...
15,16,18

是否可以在不使用自定义函数的情况下编写仅查询解决方案?

1 个答案:

答案 0 :(得分:4)

with a as (
    select i
    from unnest (array[2,4,6,7,8,10,13,15,16,18]) s(i)
)
select *
from
    a cross join a b cross join a c
where
    a < b and b < c
order by a, b, c