【问题标题】:Calculating AVG() using Subquery in Oracle SQL在 Oracle SQL 中使用子查询计算 AVG()
【发布时间】:2021-12-27 06:03:16
【问题描述】:
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 相同

这里是 ham 的获取方式,而不是 columnz 的实际平均值。我在这里做错了什么?

a b c d e f columnx columny columnz 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

【问题讨论】:

    标签: sql oracle oracle-sqldeveloper


    【解决方案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;
    

    【讨论】:

    • 感谢您的快速转身,但它仍然是相同的,它给了我与 columnz 相同的价值。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-11
    • 1970-01-01
    • 1970-01-01
    • 2021-03-16
    • 1970-01-01
    相关资源
    最近更新 更多