列出随机矩阵中的匹配项

时间:2019-07-12 19:53:15

标签: postgresql matrix

我创建了一个由“ y”表示的随机匹配的“ x”乘“ y”矩阵。对于值1-5,“ O”表示“偏好匹配”。仅当两个值都使首选项相互对应时才发生“匹配”(1和2是“匹配”,因为它们都偏爱另一个,而1和3不匹配,因为首选项不进行交互)。

Visualization

SQL的最佳尝试:

    create table variable1 (
    match1 binary,
    match2 binary,
    match3 binary,
    match4 binary,
    match5 binary
    ),

    create table variable2 (
    match1 binary,
    match2 binary,
    match3 binary,
    match4 binary,
    match5 binary
    ),

    create table variable3 (
    match1 binary,
    match2 binary,
    match3 binary,
    match4 binary,
    match5 binary
    ),

    create table variable4 (
    match1 binary,
    match2 binary,
    match3 binary,
    match4 binary,
    match5 binary
    ),

    create table variable5 (
    match1 binary,
    match2 binary,
    match3 binary,
    match4 binary,
    match5 binary
    ),

    insert into variable1(
    null,
    O,
    -,
    O,
    O
    ),

    insert into variable2(
    O,
    null,
    O,
    O,
    O
    ),

    insert into variable3(
    O,
    -,
    null,
    O,
    -
    ),

insert into variable4(
    O,
    -,
    O,
    null,
    O
    ),

insert into variable5(
    O,
    O,
    O,
    O,
    null
    ),

仅在5x5矩阵中,

1和2匹配 1和4场比赛 1和5比赛 2和5比赛 3和5比赛 4和5比赛 1和3不匹配 2和3不匹配 2和4不匹配 3和4不匹配

第一个问题-是否有一个“匹配”查询列出唯一的1x1匹配集?

第二个问题-是否有一个“迭代匹配”查询,列出“ z”次迭代后唯一的一组匹配?

例如,经过1个匹配迭代,结果将是上面6个匹配的列表。经过2次迭代,结果将是1、4和5的组,因为1和4都与5匹配。

我希望该函数应用于“ x”乘“ y”矩阵。我希望结果是“ z”个列表,对应于迭代次数,每个列表在每个组中都有z + 1个数字。

我正在使用Postgresql 11.4。

这里是解释Excel中第一个匹配功能的链接:

Excel Explanation

不幸的是,我还没有找到参考VBA。我宁愿简单地将所有内容放在Postgres中。

0 个答案:

没有答案