mse

导航

用友实习笔试中数据库试题-求累积总计

Posted on 2009-06-01 20:32  mse  阅读(310)  评论(0)    收藏  举报

算出累积总计是一个常见的需求,可惜以 SQL 并没有一个很直接的方式达到这个需求。要以 SQL 算出累积总计,基本上的概念与列出排名类似:第一是先做个表格自我连结 (self join),然后将结果依序列出。在做列出排名时,我们算出每一行之前 (包含那一行本身) 有多少行数;而在做累积总计时,我们则是算出每一行之前 (包含那一行本身) 的总合。

 

题目内容大概为:employee

year  salary

2000  1000

2001  2000

2002  3000

然后得到的结果为:

year  salary

2000  1000

2001  3000

2002  6000

解答:

select A.year Sum(B.salary) from employee A,employee B where A.year>=B.year group by A.year.

注意:在sql语句中使用集合函数之前要进行分组group by

其它内容都相对比较简单,故省略