我有一张有30万份记录的大表,其中一个字段是日期字段,另一个字段是购买记录。我需要把每一天的七个滚动日平均数(实际上是六个)放到另一个表中。任何购买日期或数字都可以更改,所以我不能仅仅使用现有的数据。
我所做的是从销售的第一天起,每天通过VBA循环,创建一个,然后用dsum执行一个查询,并更新汇总表,所以初始的查询看起来像.
Select dsum(purchases)/7 from purchases as rollingAvg7 where purchaseDate between #01/11/2020# and #07/11/2020#要运行这些查询,每个查询大约需要两分钟。有更好的更快的方法吗?
发布于 2020-11-12 07:22:52
首先,日期值的字符串表达式不能具有dd/mm/yyyy格式。使用ISO序列,它可以在任何地方工作,包括ADO。
其次,如果购买量是每天的总额,则可以直接使用Avg找到平均值:
select avg(purchases)
from purchases as rollingAvg7
where purchaseDate between #2020/11/01# and #2020/11/07#如果您有个人购买-返回多个记录每天-使用sum / 7。
https://stackoverflow.com/questions/64796678
复制相似问题