Sql 如何为列中的每个字段计算过去3个月的总和()
我在MS Access中有一个表,看起来像这样Sql 如何为列中的每个字段计算过去3个月的总和(),sql,ms-access,Sql,Ms Access,我在MS Access中有一个表,看起来像这样 Date Item Count ----------------------------------------------------------- 1/1/2000 ABC 5 1/1/2000 DEF 8
Date Item Count
-----------------------------------------------------------
1/1/2000 ABC 5
1/1/2000 DEF 8
1/1/2000 GHI 3
1/2/2000 JKL 1
1/2/2000 ABC 7
1/3/2000 GHI 8
1/3/2000 ABC 4
Date Item Count (3M)
--------------------------------------------------------------------
1/1/2000 ABC 5
1/1/2000 DEF 8
1/1/2000 GHI 3
1/2/2000 JKL 1
1/2/2000 ABC 12 (5+7)
1/3/2000 GHI 11 (3+8)
1/3/2000 ABC 16 (5+7+4)
我想计算每个月的每个项目,过去3/6/12个月的总和是多少,应该是这样的
Date Item Count
-----------------------------------------------------------
1/1/2000 ABC 5
1/1/2000 DEF 8
1/1/2000 GHI 3
1/2/2000 JKL 1
1/2/2000 ABC 7
1/3/2000 GHI 8
1/3/2000 ABC 4
Date Item Count (3M)
--------------------------------------------------------------------
1/1/2000 ABC 5
1/1/2000 DEF 8
1/1/2000 GHI 3
1/2/2000 JKL 1
1/2/2000 ABC 12 (5+7)
1/3/2000 GHI 11 (3+8)
1/3/2000 ABC 16 (5+7+4)
在SQL查询中是否仍然可以执行此操作?尝试对
项和t2.Date=dateadd(“m”、-3、t1.Date)
进行自联接
选择
t1.日期,
t1.项目,
求和(t2.计数)三次求和
从…起
表1 t1
加入表1 t2
在t1上。项目=t2。项目
t2.Date=dateadd(“m”,-3,t1.Date)
按t1分组。日期,t1。项目
按t1订购。日期ASC
谢谢。这非常有效,我学到了一些关于自连接的新知识。如果这是一个自连接,那么表1和表2不应该有相同的名称吗?