非常感谢任何可以帮助甚至尝试的人。
因此,我有一个表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;