我正在尝试计算MS Access中的12个月运行总计。在Oracle SQL中,我可以使用像
这样的窗口函数来实现这一点SELECT date, SUM(salesvol) OVER (ORDER BY date ROWS 11 PRECEDING) AS running_tot FROM table1
但显然MS Access不支持窗口功能。我最初的想法是使用datediff函数编写查询,但由于我的日期变量是varchar格式,我不认为这是一种实用的方法。
我的数据集包含两列:date(VARCHAR)和salesvol(NUMBER):
date salesvol
200901 473560
200902 426204
200903 473560
200904 662984
200905 473560
200906 662984
200907 615628
200908 236780
200909 426204
200910 331492
200911 426204
200912 378848
201001 236780
201002 426204
201003 426204
201004 142068
201005 426204
201006 520916
201007 568272
201008 520916
201009 520916
201010 520916
201011 568272
201012 947120
我想要的输出是:
date salesvol running_tot
200901 473560 473560
200902 426204 899764
200903 473560 1373324
200904 662984 2036308
200905 473560 2509868
200906 662984 3172852
200907 615628 3788480
200908 236780 4025260
200909 426204 4451464
200910 331492 4782956
200911 426204 5209160
200912 378848 5588008
201001 236780 5351228
201002 426204 5351228
201003 426204 5303872
201004 142068 4782956
201005 426204 4735600
201006 520916 4593532
201007 568272 4546176
201008 520916 4830312
201009 520916 4925024
201010 520916 5114448
201011 568272 5256516
201012 947120 5824788