给定一个数组,如何在 postgresql 中查找特定大小的元素的所有组合(子集)。例如,给定一个数组 [1, 2, 3, 4],大小为 3 的所有组合都是
[1, 2, 3],
[1, 2, 4],
[1, 3, 4],
[2, 3, 4]
组合中的顺序并不重要,因此 [1, 2, 3] 和 [3, 2, 1] 被视为相同的组合。
Update:所需组合的大小必须在运行时指定为参数,以便可以使用相同的函数/查询来查找任何大小 n 现有的解决方案仅适用于尺寸 3 的组合,并且每次尺寸增加都需要一个额外的交叉连接,这显然不切合实际。