基本上,我对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
我哪里错了?
答案 0 :(得分:1)
我相信你正在寻找一个having
条款。
试试这个:
select userID, avg(gameTime)
from game_session
group by userID
having count(userID) > 1;