对能够提供帮助甚至尝试的人表示赞赏。
所以我有一个桌子,GameHub,每场比赛1记录表明一个人玩这个游戏。 游戏中心:
Game ID Person
33 1234
34 1234
38 1234
38 1235
33 1235
所以2人玩了游戏33和38,只有1人玩了游戏34。
我一直在努力寻找能够抓住至少2人玩过的游戏的SQL。
我所拥有的最好(不起作用)将是:
SELECT GameHub.gameid FROM 'GameHub' HAVING COUNT(GameHub.personid) > 1
可悲的是,这听起来很简单,我只是不能破解它。有人看到我的错误吗?
谢谢, 汤姆。
更改了:
SELECT GameHub.gameid FROM GameHub HAVING COUNT(GameHub.personid) > 1
但只有" 33"得到回报,我怎么能得到33和38?
答案 0 :(得分:1)
您错过了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;