sql - 在 Oracle SQL 中使用子查询计算 AVG()
问题描述
Select x.*, Avg(Columnz)as avg_columnz from
(
Select a,b,c,d,e,f,columnx-columny as columnz from table abc)x
group by a,b,c,d,e,f;
我得到的 avg_columnz 与 columnz 相同
这是火腿的获取方式,而不是 columnz 的实际平均值。我在这里做错了什么?
一个 | b | C | d | e | F | 列x | 柱状 | 列兹 | avg_columnz |
---|---|---|---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 8 | 2 | 6 | 6 |
1 | 2 | 3 | 4 | 5 | 6 | 6 | 3 | 3 | 3 |
1 | 2 | 3 | 4 | 5 | 6 | 4 | 2 | 2 | 2 |
1 | 2 | 3 | 4 | 5 | 6 | 6 | 1 | 5 | 5 |
1 | 2 | 3 | 4 | 5 | 6 | 2 | 1 | 1 | 1 |
解决方案
我的感觉是,您真的想在AVG()
这里用作分析函数:
SELECT a, b, c, d, e, f, columnx - columny AS columnz,
AVG(columnx - columny) OVER (PARTITION BY a, b, c, d, e, f) avg_columnz
FROM yourTable
ORDER BY a, b, c, d, e, f;
推荐阅读
- qt - 访问 Qt QML Map 的相机高度
- line - 显示多个值的 Stata 双向折线图
- node.js - 为什么在查看 GET 请求特定文章时会收到类型错误?
- php - 如何让 phpstan 推断我的 Laravel Collection 管道的类型?
- c++ - 尝试理解 C++ 中的 Windows 控件和消息处理
- arrays - 在与二维坐标相关的数据数组中查找最大值坐标
- python - Discord.py Reaction autorole 错误:“reactions”实例没有“reaction_message”成员
- dpdk - 无法将 DPDK 绑定接口添加到 OVS 网桥
- javascript - 如何为键盘用户隐藏鼠标/点击用户的 Javascript 可点击事件?
- javascript - 如何防止组件在反应中重新渲染?