如何在Access中的SELECT查询中的前一行中总结SQL值?

时间:2015-03-01 19:00:39

标签: sql select sum window-functions

我有一个名为“new_meetings”的表:

(ID_to, meetdate, amount)
-------------------------
(0, 01.07.2004, 3)
(0, 14.07.2004, 1)
(0, 11.02.2008, 5)
(1, 11.02.2008, 2)
(1, 12.02.2008, 1)

所以我需要和sql查询,这将给我结果:

(0, 01.07.2004, 3)
(0, 14.07.2004, 4)
(0, 11.02.2008, 9)
(1, 11.02.2008, 2)
(1, 12.02.2008, 3)

我使用Access。 我尝试了以下内容:

SELECT meetdate, amount,
(SELECT SUM(*) FROM new_meetings WHERE n.ID_to = new_meetings.ID_to AND new_meetings.meetdate<=n.meetdate) as total
FROM new_meetings n

但得到奇怪的错误:“无效的函数参数” 那我应该怎么做?

2 个答案:

答案 0 :(得分:3)

这叫做跑步总数。在这里您可以找到完整的样品:
How do I... Generate a running total in an Access query?
Using MS Access to create a Running Total or a Cumulative Sum – Part 1 of 2

SELECT meetdate, amount, 
    (SELECT SUM(amount)
     FROM new_meetings
     WHERE n.ID_to = new_meetings.ID_to
         AND new_meetings.meetdate<=n.meetdate) as total
FROM new_meetings n

答案 1 :(得分:1)

知道了:

Select m1.id_to, m1.meetdate, sum(m2.amount)
From new_meetings m1
LEFT Join new_meetings m2
On m1.id_to=m2.id_to
And m2.meetdate<= m1.meetdate
Group by m1.id_to, m1.meetdate