MS Access - 总共运行12个月

时间:2016-09-26 08:16:22

标签: ms-access

我正在尝试计算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

1 个答案:

答案 0 :(得分:0)

将varchar日期转换为DATE格式。您可以使用日期作为该月的第1天。请参阅link进行转换。

然后你可以参考link跑步总数。