小编Vik*_*how的帖子

如何在postgresql中查找任意大小的数组的所有组合(子集)

给定一个数组,如何在 postgresql 中查找特定大小的元素的所有组合(子集)。例如,给定一个数组 [1, 2, 3, 4],大小为 3 的所有组合都是

[1, 2, 3],
[1, 2, 4],
[1, 3, 4],
[2, 3, 4]
Run Code Online (Sandbox Code Playgroud)

组合中的顺序并不重要,因此 [1, 2, 3] 和 [3, 2, 1] 被视为相同的组合。

更新: 所需组合的大小必须在运行时指定为参数,以便可以使用相同的函数/查询来查找任何大小 n <= 数组大小的组合。现有的解决方案仅适用于尺寸 3 的组合,并且每次尺寸增加都需要一个额外的交叉连接,这显然不切合实际。

arrays postgresql combinations plpgsql

1
推荐指数
1
解决办法
2191
查看次数

标签 统计

arrays ×1

combinations ×1

plpgsql ×1

postgresql ×1