根据结束日期和记录数的条件计算 SQL 中的平均值

问题描述

我想计算与下表类似的记录的平均值(这只是一个例子,值无关紧要):

enter image description here

我有这样的查询:

SELECT Id,AVG(Value) OVER(partition by ID Order by [date] rows between 2 preceding and current row) as avg_value,FROM [table]
WHERE Code = 'SLS' --- there are more codes usually

我想添加但无法决定如何正确添加的条件是:

  1. 仅当每个 Date 的最大值 Id>= 从当前年份减去 1 时才计算平均值
  2. 仅当我有指定的年数值时才计算平均值,在本例中为 3。

必须同时满足这两个条件。在这种情况下,Id = 2 甚至不满足其中一个条件。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)