以下sql将返回游戏会话表中玩游戏的用户数。
SELECT count(DISTINCT `userID`) as count FROM `game_sessions`
在此表“game_sessions”中,每行包含用户会话的详细信息。因此,可能有3个,40个甚至500个行具有相同的“userID”。我理解上面的查询会找出有多少不同的“useriD”值,或者换句话说,有多少人玩过至少一场比赛。
如何修改此查询,以便了解有多少人玩过至少两场比赛或至少30场比赛,从而查看有多少用户ID被重复2次,5次,10次等等
答案 0 :(得分:6)
您不需要在此使用DISTINCT
关键字,只需COUNT
基于每个userID
的记录。试试这个:
SELECT userID,
COUNT(userID) TotalCount
FROM game_sessions
GROUP BY userID
HAVING COUNT(userID) > 1
答案 1 :(得分:1)
认为这样可以完成这项工作:
select userID, count(userID)
from game_sessions
group by userID
having count(userID) > 2;
更改上面的数字以优化查询。