注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

gb.qin

A Man's心靈的港灣

 
 
 

日志

 
 

在数据表中用sql实现累计计算查询sql2000 (集)  

2012-02-11 16:23:48|  分类: SQL&Access |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

有这样一个问题:如何按时间求累计值如下表所示

 日期 数值
 2005-5-1 2.4
 2005-5-2 2
 2005-5-3 5
 2005-5-4 3.5

要实现如下结果: 内容来自ltesting.net

 日期 数值 累计
 2005-5-1 2.4 2.4
 2005-5-2  24.4
  2005-5-3  5 9.4
 2005-5-4  3.5 12.9

使用如下sql语句就能实现以上功能了

--累计计算
SELECT aa.日期, aa.数值, SUM(lj.数值) AS 累计
FROM 累积 lj INNER JOIN
          (SELECT *
         FROM 累积) aa ON lj.日期 <= aa.日期
WHERE (aa.日期 <= '2005-05-04')   --日期可以变成时间段
GROUP BY aa.日期, aa.数值
ORDER BY aa.日期


 ==== 強化=====

日期

編號

數值

2005/5/1

1

2.4

2005/5/3

2

5

2005/5/2

3

2

2005/5/4

4

3.5

2005/5/4

4

10

2005/5/2

2

4

要实现如下结果:
     日期            編號           數值       累計
2005-05-01 1 2.4         2.4
2005-05-02 2 4.0 4.0
2005-05-02 3 2.0 2.0
2005-05-03 2 5.0 9.0
2005-05-04 4 13.5 13.5

使用如下sql语句就能实现以上功能了

--累计计算

SELECT aa.日期,aa.編號, aa.數值, SUM(lj.數值) AS 累計

FROM 累積 lj INNER JOIN

          (SELECT 日期,編號,sum(數值) 數值

         FROM 累積 group by 日期,編號) aa ON lj.日期 <= aa.日期 and lj.編號 =  aa.編號

GROUP BY aa.日期,aa.編號,aa.數值

ORDER BY aa.日期,aa.編號




  评论这张
 
阅读(814)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017