2

下面的 sql 将从游戏会话表中返回有多少用户玩过游戏的计数。

SELECT count(DISTINCT `userID`) as count FROM `game_sessions`

在该表“game_sessions”中,每一行包含用户会话的详细信息。因此,可能有 3、40 甚至 500 行具有相同的“用户 ID”。我知道上面的查询将找出“useriD”有多少不同的值,或者换句话说,有多少人玩过至少一个游戏。

如何修改此查询,以便找出有多少人玩过至少两场或至少 30 场比赛,从而查看有多少用户 ID 重复了 2 次、5 次、10 次等

4

2 回答 2

6

您不需要DISTINCT在此使用关键字,只需COUNT基于 each 的记录userID。试试这个:

  SELECT userID, 
         COUNT(userID) TotalCount
    FROM game_sessions
GROUP BY userID
  HAVING COUNT(userID) > 1
于 2012-06-21T09:02:11.667 回答
1

认为这将完成这项工作:

select userID, count(userID)
from game_sessions
group by userID
having count(userID) > 2;

更改上面的数字以优化查询。

于 2012-06-21T09:02:13.413 回答