oracle - Oracle:使用 avg 函数选择多个列
问题描述
我正在尝试使用我在整个 oracle 文档中查看的玩家名称以及其他人在堆栈溢出时提出的先前问题逐行显示每个玩家的平均值。我只遇到过如何通过记录 id 选择平均值组以及如何使用子查询选择平均值
例如,我发现每行的平均值是
select round(avg(g1+g2+g3+g4)) as "Average Score" from ch_user group by playerid;
如果我要选择 player 和 avg ,它会给我 ORA-01427。
我努力了
select player, (select round(avg(g1+g2+g3+g4)) from ch_user group by playerid) as "Average Score" from ch_user;
但它提示错误ORA-01427。
单行子查询返回多行。
先感谢您
更新
我已经找到了问题的解决方案,并且我能够根据@Boneist 的答案将其实施到我的查询中。
但是,我发现查询很长,是否有机会简化查询?
我的查询是
select first_name || ' ' || last_name as Player,game_1 as G1 , game_2 as g2 ,
game_3 as g3, game_4 as G4,total_score as "Total Tournament Score",
round(avg(game_1+game_2+game_3+game_4)) as "Average Score" from ch_user
group by playerid, first_name,last_name,game_1,game_2,game_3,game_4,total_score;
解决方案
我认为你已经想多了......你需要做的就是player
在你的第一个查询中添加到选择列表中,然后通过以下方式添加player
到组中:
select player,
round(avg(g1 + g2 + g3 + g4)) as "Average Score"
from ch_user
group by playerid, player;
推荐阅读
- python - ModuleNotFoundError:训练对象图像时没有名为“object_detection”的模块
- github - 让 Jekyll 使用现有的 Github Pages 站点
- python - 将 Jupyter 与适用于 Linux 的 Windows 子系统一起使用
- excel - 合并两个私有 workbook_open
- ios - CollectionView insertItem 导致整个列表被刷新
- excel - 如何在 Excel VBA 中定义某个类别中所有值的数组/集合?
- wordpress - 为 wordpress 配置社交登录
- batch-file - 批处理 - 通过延迟扩展获取本地值
- python - TensorFlow:带有轴选项的 bincount
- haskell - haskell解析错误不正确的标识?