如何获得两个玩家一起玩的总胜利?

dit*_*tto 1 sql postgresql

我有一张名为playergame.

ID 游戏ID 球员
1 1 乔恩 真的
2 1 真的
3 1 错误的
4 2 乔恩 错误的
5 2 乔恩 真的
6 3 真的

我想要让 jon 和 dan 赢得的所有游戏一起玩。我想我可以通过以下方式做到这一点:

SELECT count(*) as wins
FROM playergame
WHERE player = 'dan' AND player = 'jon' AND win = true
GROUP BY gameid
Run Code Online (Sandbox Code Playgroud)

但是我需要考虑到我想要将两行合并并查询为 1。我该怎么做?

esh*_*ana 5

如果你只想要 gameid ,这是最简单的方法:

select gameid 
from playergame
where player in ('jon' , 'don')
and win = true
group by gameid
having count(distinct player) = 2 
Run Code Online (Sandbox Code Playgroud)