我有一个名为“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
但得到奇怪的错误:“无效的函数参数” 那我应该怎么做?
答案 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