我正在使用SQL Server 2008 R2,嘗試計算移動平均值。對於我的觀點中的每條記錄,我想收集250條以前記錄的值,然後計算此選擇的平均值。T-SQL計算移動平均值
我的看法列如下:
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 2014-10-28 21:00:08
謝謝。你有什麼機會就如何做到這一點提出建議? – RunW 2014-10-28 21:04:23
@RunW做同樣的事務ID重複不同的值,是否有時間戳列或標識列除了事務ID? – radar 2014-10-28 21:12:35