2

次の SQL は、ゲーム セッション テーブルからゲームをプレイしたユーザーの数を返します。

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

このテーブル「game_sessions」では、各行にユーザーのセッションの詳細が含まれています。したがって、同じ「userID」を持つ 3、40、または 500 行が存在する可能性があります。上記のクエリは、「useriD」の個別の値がいくつあるか、つまり、少なくとも 1 つのゲームをプレイした人数を確認できることを理解しています。

このクエリを変更して、少なくとも 2 回のゲームまたは少なくとも 30 回のゲームをプレイした人数を調べて、2 回、5 回、10 回などの繰り返しのユーザー ID の数を確認するにはどうすればよいですか?

4

2 に答える 2

6

each に基づくレコードDISTINCTだけで、これにキーワードを使用する必要はありません。これを試してください:COUNTuserID

  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 に答える