我有一个表 A,其中有许多相同 CODNEG 和日期的条目:
CODNEG QUATOT VOLTOT Date
ABCD11 937 103070 31/01/2011
ABCD11 1976 205504 31/01/2011
ABCD11 1859 193336 31/01/2011
ABCD11 1026 110808 28/02/2011
ABCD11 49 4410 31/07/2011
XYZW11 35 3570 31/01/2011
XYZW11 627 63954 31/01/2011
. . . .
. . . .
. . . .
我正在尝试创建一个包含字段的查询,其中的值是:(SUM of VOLTOT)/(SUM of QUATOT) 对于相同的 过去十二个月的 CODNEG,例如,如果日期是 31/07/2011,我想对从 2010 年 8 月到 7 月的值求和/2011。
- (1) 日期始终是该月的最后一天
- (2) 过去十二个月的条目数可以是 0 到 ~250 之间的任意整数
我发现了一些类似的问题,但我无法根据他们的解决方案来解决这个问题,因为特殊性数字(2)使其有所不同。
我想知道是否可以做我想做的事情,如果可以,我该怎么做。任何帮助将不胜感激。
最佳答案
您将使用相关子查询。根据您的日期算术,我认为这将是:
select t.*,
(select sum(a2.voltot) / sum(a2.quatot)
from a a2
where a2.codneg = a.codneg and
a2.date > dateadd("m", -12, date) and
a2.date <= date
) as ratio
from a;
如果您确实想要完整的月份,可能会更复杂一些,但想法是相同的。
关于sql - 按日期移动总和 (MS Access SQL),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51444774/