不显示具有多个实例的用户的平均值

时间:2017-12-12 00:00:46

标签: mysql sql

基本上,我对SQL很新,我正在玩它。这很有趣也很有趣,基本上我试图为每个拥有多个游戏会话的用户选择userId和平均游戏时间。这是我的下表:

id  | userId |gameTime  |
________________________    
1   |    1   |     10   | 
2   |    2   |     10   |
3   |    3   |     15   |
4   |    1   |     10   |
5   |    2   |     25   |
_________________________


 CREATE TABLE game_session(
  id INTEGER PRIMARY KEY,
  userId INTEGER NOT NULL,
  gameTime DECIMAL NOT NULL);

INSERT INTO game_session VALUES
  (1, 1, 10),
  (2, 2, 10),
  (3, 3, 15),
  (4, 1, 10),
  (5, 2, 25);

所以我只想多次显示所有userID实例及其总平均时间。我不想在最后显示计数行。

我编写了我的脚本,但它没有显示表没有COUNT(userID)并且即使是一次实例也显示用户ID,不超过1!

这是我的剧本:

SELECT userID, AVG(gameTime)
FROM game_session
WHERE ((SELECT COUNT(userID) FROM game_session) > 1)
GROUP BY userID

我哪里错了?

1 个答案:

答案 0 :(得分:1)

我相信你正在寻找一个having条款。

试试这个:

select userID, avg(gameTime)
from game_session
group by userID
having count(userID) > 1;