我想获得每种类型的平均值,然后将聚合表作为原始表中的新列加入。这是我正在尝试做的可视化和代码:
-- The original table --
ID | Cnt | Type
1 5 A
1 6 A
2 4 B
-- New Table --
ID | Cnt | Type | Avg
1 5 A 5.5
1 6 A 5.5
2 4 B 4.0
我到目前为止编写的代码如下:
select AVG(Cnt)
from old
group by(type)
right join on old
但是,显然它不正确,因为引发了语法错误。对此有什么解决方法?如果我的问题类似于现有问题,我会提前道歉。
使用窗口功能:
select o.*, avg(cnt) over (partition by type)
from old o;