Snowflake SQL - 窗口函数和总体平均值

问题描述 投票:0回答:1

我正在尝试在每一行中获得这样的总体平均数。您能帮助我如何使用 Snowflake SQL 最好地实现这一目标吗?

是(300+150+100)/3

在此输入图片描述

我能够使用窗口函数 AVG (Value) Over(按 ID 分区)按 ID 获取平均值

sql snowflake-cloud-data-platform
1个回答
0
投票

PARTITION BY
更改为常数,例如
null
true

select 
    $1 AS id,
    $2 AS value,
    avg(value) over (partition by id) as avg_by_id,
    avg(value) over (partition by true) as overall_avg
from values 
    (1,300),
    (1,150),
    (1,450),
    (2,150),
    (2,150),
    (3,100),
    (3,180),
    (3,20);

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.