关于SQL计算累加

我现在有这么一张表我想得到这样的结果请问SQL语句该怎么实现因为我现在是用Access数据库,所以能在Access里实现,感激不尽啊... 我现在有这么一张表

我想得到这样的结果

请问SQL语句该怎么实现 因为我现在是用Access数据库,所以能在Access里实现,感激不尽啊
展开
 我来答
17号观察室
2013-04-27 · TA获得超过5730个赞
知道大有可为答主
回答量:3666
采纳率:66%
帮助的人:1391万
展开全部
--sql 其实很简单 语法你都会 关键是怎么组合
select year,month,(select sum(membercount) from tablename b where b.year=a.year and b.month<=a.month)
all_membercount from tablename a
--注:year和month 无论什么数据类型都不影响 把表名换成你的表名(内表外表表名是一样的) 就可以了
--希望解决了楼主的问题
更多追问追答
追问
这个语句执行后只对当前年里的每个月累加了
想要的结果是从2012年1月加到2013年12月(累计注册会员个数)
追答
--不好意思 没有把year和month合在一起  用这个 year和month是字符串的 不行q我

select year,month,(select sum(membercount) from tablename b where b.year+‘-’+b.month<=a.year+'-'+a.month)
all_membercount from tablename a
badkano
推荐于2018-03-23 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144775 获赞数:885375
团长

向TA提问 私信TA
展开全部
如果你year和month是字符型的话用这个,把表名换一下,我起的叫test(一共两处)

select b.year,b.month,sum(a.membercount)
from test a,test b where format(a.year+'-'+a.month+'-01') <=format(b.year+'-'+b.month+'-01')
group by b.year,b.month
order by format(b.year+'-'+b.month+'-01')

如果你year和month是数字型的话用这个
select b.year,b.month,sum(a.membercount)
from test a,test b where format(str(a.year)+'-'+str(a.month)+'-01') <=format(str(b.year)+'-'+str(b.month)+'-01')
group by b.year,b.month
order by format(str(b.year)+'-'+str(b.month)+'-01')
更多追问追答
追问
'format' 不是可以识别的 内置函数名称。
追答
诶?你ac是什么版本?我在我03的环境下好使呀
还有你year字段和month字段是什么类型,文本还数字
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
灬Linhoo
2013-04-27 · TA获得超过104个赞
知道小有建树答主
回答量:226
采纳率:0%
帮助的人:144万
展开全部
select year,month,(sum(membercount) over()) membercount1 from tab;
追问
你这个不对,执行后每个月都是1021
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
raymonshi
2013-04-27 · TA获得超过490个赞
知道小有建树答主
回答量:416
采纳率:100%
帮助的人:249万
展开全部
oracle 中有个分析函数sum() over() 可以实现。
access好像没有,
这个sql试一下:
select a,b,(select sum(c) from tt where tt.a= t.a and tt.b<= t.b) from t
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
apu510064
2013-04-27 · TA获得超过964个赞
知道小有建树答主
回答量:1634
采纳率:55%
帮助的人:936万
展开全部
select [year],[month],(select sum(membercount) from table1 where [year]=a.[year] and [month]<=a.[month]) from table1 a

另外,建议不要用year、month这样的字眼作为字段名
追问
你这个语句执行结果跟上面那位兄弟一样,只是对当前年中每个月数据值进行累加了,
我想要两年的值累加
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式