我有一个 PostgreSQL 表,它主要是一个桥接表,但它也有一些额外的东西。
本质上,它包含有关游戏中玩家的信息。所以我们有一个游戏中玩家实例的唯一ID。然后一个 id 是 FK 到游戏表,一个 id 是 FK 到玩家表。还有一些其他无关紧要的东西。像这样的东西:
Table players_games
| id | 12564
| player_id | 556
| game_id | 156184
我想做的是找出一个玩家和另一个玩家一起玩的次数。所以,如果player1和player2在同一个游戏中,他们就一起玩过一次。一场比赛有 2 个以上的玩家。
所以我想做的是填充一个新表,它包含三个值:player_lo、player_hi、times_played。
并且每对有一行和他们玩的次数,或者如果最终效率更高,则每次迭代都有一行并将值设置为 1,以便以后可以将它们加在一起,也许是分布的。所以你可能会看到类似的东西:
p1, p2, 1
p1, p2, 1
这些后来减少为:
p1, p2, 2
所以我想知道在开始编写一个稍微复杂的 python 脚本来做之前,是否有一些聪明的方法可以用 SQL 来做这件事,或者是否有 SQL 可以减少我的编程工作量。