0
在我的表中,我有5個數字。我想找到3個移動平均數。我使用查找postgresql中的平均數
查詢
select avg(value) over(order by value rows between 3 preceding and 1 preceding) as average
from test;
我想我的查詢開始的前三個值不會有3個以前的值從計算從第4個值平均發現。請建議。
在我的表中,我有5個數字。我想找到3個移動平均數。我使用查找postgresql中的平均數
查詢
select avg(value) over(order by value rows between 3 preceding and 1 preceding) as average
from test;
我想我的查詢開始的前三個值不會有3個以前的值從計算從第4個值平均發現。請建議。
平均值將爲前三個 - 它只會是NULL
或基於少於3行。
但是,你可以用row_number()
來做你想做的事情;
select (case when row_number() over (order by value) > 3
then avg(value) over (order by value rows between 3 preceding and 1 preceding)
end) as average
from test;
你想要一行中的每個單元格的數量的平均值,從一個低於第一個的行開始? –