MS Access 按日期累积总和?
Posted
技术标签:
【中文标题】MS Access 按日期累积总和?【英文标题】:MS Access cumulative sum by date? 【发布时间】:2014-03-26 13:17:02 【问题描述】:我正在尝试类似的东西
Select myTable.eDate, Sum(myTable.revenue) from MyTable
GROUP BY MyTable.eDate HAVING (((MyTable.eDate) >= #1/1/2014#))
我试图让它在所有日期按顺序显示“1 月 1 日的总收入是这样的,1 月 2 日的总收入是这样的,1 月 3 日的总收入是这样的,等等”。
一种“滚动累积和”,如果有意义的话。
注意:MyTable 中有 1 月 1 日之前的电子日期/收入,所以我也试图限制所有内容,因此它甚至不会查看 1 月 1 日之前的行。
我也尝试过 DSum,但也没有用。
我也试过
select
a1.eDate,
(
select Sum(a2.revenue)
FROM MyTable as a2
where
a2.eDate <= a1.eDate
) as RunningTotal
FROM MyTable as a1
【问题讨论】:
仅供参考,根据您的要求,您最好不要将其作为 SQL 查询执行,而是使用 Access 报告为您执行此操作 - 报告具有运行总功能,而使用 Access SQL 您有点必须与之抗争才能让它做你想做的事。 【参考方案1】:对不起,我没有足够的代表发表评论。
我认为您正在尝试做的是总和
SELECT (SELECT sum(revenue) from myTable a2
where a1.edate >= a2.edate)
as RunningSumField1,
edate from myTable as a1
group by a1.edate
order by a1.edate
试试这个链接:
MS Access 2010 Running Total in Query
【讨论】:
我没有名为“id”的字段,我正在尝试按日期获取累积总和 我再次更新了我的答案,删除了 id 列 - 这应该可以解决问题 我必须说“myTable a2”还是“myTable as a2”? 确实有效,谢谢!我想知道为什么我的原始代码不起作用。它们看起来几乎一样,只是你的最后有一个分组/排序 太好了 - 乐于助人。仅供参考,您正在进行总计,因此您需要对数据进行排序,以便您可以知道如何按日期顺序获取总和,group by 子句允许您每天求和以上是关于MS Access 按日期累积总和?的主要内容,如果未能解决你的问题,请参考以下文章