我正在使用SQL Server 2008 R2,尝试计算移动平均值。对于我的视图中的每个记录,我想收集前250个记录的值,然后计算此选择的平均值。
我的视图列如下:
TransactionID | TimeStamp | Value | MovAvg
----------------------------------------------------
1 | 01.09.2014 10:00:12 | 5 |
2 | 01.09.2014 10:05:34 | 3 |
...
300 | 03.09.2014 09:00:23 | 4 |
TransactionID
是唯一的。对于每个TransactionID
,我想计算前250条记录中列值的平均值。因此,对于TransactionID 300,从前250行(按TransactionID降序排序)收集所有值,然后在MovAvg列中写入这些值的平均值结果。我希望在记录范围内收集数据。
PARTITION BY
和ROW_NUMBER
。 - Mihai