累计平均sql



我想获得以下数据每月的累积平均值。

EJ

date     val  acum
20221229  1    1
20221230  8    4.5
20221231  3    4
20230101  7    7
20230101  4    5.5

代码:

BEGIN var_out = SELECT FCURR,
date,
val,
SUM(SUM(val)) over (order by date asc) AS acum
FROM 
(SELECT 
val
FROM table
WHERE "KURST" ='M')
GROUP BY  date,val
ORDER BY 3 DESC; END

似乎正在寻找每月分区的窗口平均值。

在SQL Server中,假设有一个表mytable(dt, val):

select dt, val,
avg(1.0 * val) over(
partition by year(dt), month(dt) 
order by dt
) running_monthly_avg
from mytable
where kurst = 'M'

这是按日期排序的按月分区的平均值。通常,每月的第一行只对其本身取平均值,而最后一行对整个月取平均值。

从样本数据和结果中,我没有看到查询中需要group by,所以我删除了它。

Here isa DB Fiddle:

running_monthly_avg34.000000

相关内容

  • 没有找到相关文章

最新更新