MYSQL计算重复2,3,4等次的值

时间:2012-06-21 08:58:18

标签: mysql sql

以下sql将返回游戏会话表中玩游戏的用户数。

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

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

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

2 个答案:

答案 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;

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