您的位置:首页 > 数据库

T-SQL 使用运行聚合

2015-04-30 22:20 113 查看
运行聚合,是随着时间积累值的聚合。
在本例中,我们假设存在ordertotalbyyear视图,该视图显示按年的总订单数量,查看一下其中的内容:
SELECT orderyear,qty
FROM ordertotalbyyear

输出如下

order    qty
2007     25489
2008     16247
2006     9581

假设需要返回每年的订单年度、数量和经过年度的运行总量,
也就是说,每一年,计算到之前年度的数量之和。所以,视图中最早年度2006的记录,运行总量等于
当年的数量,第二年2007,运行总量是第一年加上第二年之和,依次类推。

要完成此任务,可以通过查询视图的一个实例,返回每年的订单年度和数量,然后,
对查询的第二个实例使用一个相关子查询来计算运行问题,此子查询筛选小于或等于当前年度的所有年度,
并对数量进行求和:
SELECT orderyear,qty,
(SELECT SUM(02.qty) FROM ordertotalbyyear AS 02 WHERE 02.orderyear<=01.orderyear) AS runqty
FROM ordertotalyear AS 01
ORDER BY orderyear

此查询返回以下输出:

orderyear  qty  runqty
2006       9581 9581
2007       25489  35070
2008       16237  51317


本文出自 “成长基石” 博客,请务必保留此出处http://jeffxi.blog.51cto.com/8540759/1641120
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐