2012-06-21 107 views
2

以下sql將返回有多少用戶從遊戲會話表中玩過遊戲的計數。MYSQL計數重複次數2,3,4等次數

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

在此表「game_sessions」中,每行包含用戶會話的詳細信息。因此,可能有3,40甚至500行具有相同的「userID」。我知道上面的查詢會發現有多少不同的「useriD」值,或者換句話說,有多少人玩過至少一個遊戲。

我怎麼能修改此查詢,以便我可以找出有多少人玩過至少兩場比賽,或至少30場比賽,所以看到有多少用戶標識的重複2倍,5倍,10倍等等等等

回答

6

您不需要使用DISTINCT這個關鍵字,只需要COUNT這個記錄根據每個userID。試試這個:

SELECT userID, 
     COUNT(userID) TotalCount 
    FROM game_sessions 
GROUP BY userID 
    HAVING COUNT(userID) > 1 
1

認爲這將做的工作:

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

更改上面的數字來細化查詢。