【发布时间】:2021-04-23 13:16:32
【问题描述】:
我正在寻找一种方法来更新联系人的统计信息(与其他联系人相比)。我希望预期的数据表包含与之配对的每个联系人的历史结果。
完成的数据
| id | date | contact1 | contact2 | contact1_orders | contact2_orders |
|---|---|---|---|---|---|
| 1 | 2021-04-01 | bob | joe | 2 | 1 |
| 2 | 2021-04-02 | bob | joe | 1 | 2 |
| 3 | 2021-04-03 | jim | tim | 2 | 1 |
| 4 | 2021-04-04 | tim | jim | 1 | 2 |
| 5 | 2021-04-05 | joe | bob | 1 | 2 |
| 6 | 2021-04-06 | joe | bob | 1 | 2 |
即将到来的日期的预期数据 - 分别更新每个联系人与不同联系人的头对头结果。
| id | date | contact1 | contact2 | contact1_h2h | contact2_h2h |
|---|---|---|---|---|---|
| 1 | 2021-04-01 | bob | joe | 0 | 0 |
| 2 | 2021-04-02 | bob | joe | 1 | 0 |
| 3 | 2021-04-03 | jim | tim | 0 | 0 |
| 4 | 2021-04-04 | tim | jim | 0 | 1 |
| 5 | 2021-04-05 | joe | bob | 2 | 1 |
| 6 | 2021-04-06 | joe | bob | 3 | 1 |
例如,Bob 和 Joe 在第 7 行之前配对了 4 次。Bob 比 Joe 订购了 3 次以上,而 Joe 比 Bob 订购了 1 次以上。
contact1_orders 是 contact1 在给定日期(或行 ID)下的订单数。
contact2_orders 是 contact2 在给定日期(或行 ID)下的订单数。
contact1_h2h 是之前contact1 与contact2 配对的记录数,其中contact1 下的订单多于contact2。
contact2_h2h 是contact2 与contact2 下的订单多于contact1 的联系人配对的先前记录数。
我正在寻找一个查询来更新预期数据表中的contact1_h2h 和contact2_h2h,其中联系人订购的天数超过了他们所关联的联系人。
【问题讨论】:
-
有两列,你只解释了一个。此外,我不遵循解释。它似乎不适用于 jim/tim。
-
@GordonLinoff 我为列添加了解释。请让我知道这是否有帮助或您需要进一步的解释。
-
。 .我仍然不认为你的数字是正确的。 Joe 输给了 Bob,但您增加了错误的列。此外,有些行包含逻辑中的行,有些则不包含。
标签: sql postgresql