sql server中的移动平均

n7taea2i  于 2021-08-01  发布在  Java
关注(0)|答案(1)|浏览(321)

我有下表的值:

  1. Row_ID FQFY Average
  2. 1 2018-Q1 70%
  3. 2 2018-Q2 60%
  4. 3 2018-Q3 50%
  5. 4 2018-Q4 90%
  6. 5 2019-Q1 70%
  7. 6 2019-Q2 80%
  8. 7 2019-Q3 20%
  9. 8 2019-Q4 NULL
  10. 9 2020-Q1 30%

从第4行开始,我需要计算前4行值的移动平均值。如果有的话 NULL 值,则要求忽略此值 NULL 做平均数的时候
有人能帮我在这里用sql server中的代码吗?

prdp8dxp

prdp8dxp1#

使用 AVG 适当的窗框:

  1. SELECT *, AVG(Average) OVER (ORDER BY FQFY ROWS BETWEEN 3 PRECEDING AND CURRENT ROW) rollingAverage
  2. FROM yourTable;

关于 NULL 要求, AVG 默认情况下已忽略 NULL 价值观。

相关问题