基本上,我对 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
我哪里错了?
我相信你正在寻找一个having
条款。
试试这个:
select userID, avg(gameTime)
from game_session
group by userID
having count(userID) > 1;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句