非常感谢任何可以帮助甚至尝试的人。

因此,我有一个表GameHub,每个游戏1条记录指示一个玩过游戏的人。
游戏中心:

Game ID Person
    33  1234
    34  1234
    38  1234
    38  1235
    33  1235


因此,有2个人玩了游戏33和38,只有1个人玩了游戏34。

我一直在努力寻找一种SQL,该SQL仅能捕获至少两个人玩过的Gameid。

我最好的(不起作用)将是:

SELECT GameHub.gameid FROM 'GameHub' HAVING COUNT(GameHub.personid) > 1


令人遗憾的是,听起来似乎很简单,但我无法破解。有人看到我的错误吗?

谢谢,
汤姆


更新-


改变了 :

SELECT GameHub.gameid FROM GameHub HAVING COUNT(GameHub.personid) > 1


但是只有“ 33”返回,我如何获得33和38?

最佳答案

您缺少Group by,它将告诉您根据GameHub.gameid将结果分组

SELECT GameHub.gameid
FROM 'GameHub'
GROUP BY GameHub.gameid
HAVING COUNT(GameHub.personid) > 1


更新资料
如果这是您的实际SQL,请尝试添加在Group by中添加的列

SELECT GameHub.gameid,
       GameMeta.gamedate
FROM GameHub JOIN GameMeta
 ON GameHub.gameid = GameMeta.gameid
GROUP BY GameHub.gameid, GameMeta.gamedate
HAVING COUNT( GameHub.personid ) >1;

07-24 22:03