T-SQL 使用运行聚合
2015-04-30 22:20
113 查看
运行聚合,是随着时间积累值的聚合。
在本例中,我们假设存在ordertotalbyyear视图,该视图显示按年的总订单数量,查看一下其中的内容:
本文出自 “成长基石” 博客,请务必保留此出处http://jeffxi.blog.51cto.com/8540759/1641120
在本例中,我们假设存在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
相关文章推荐
- T-SQL 使用运行聚合
- sas宏(2),运行中创建宏与使用宏,多个宏触发器的引用规则、proc sql创建宏, scl中宏处理(暂缺)
- 使用SQL判断当前JOB是否在运行
- 如何使用BAT文件批量运行SQL语句,并保存执行结果
- 使用dfc运行DQL并取得相应sql的代码
- com.microsoft.sqlserver.jdbc.SQLServerException: 此查询使用的不是 ANSI 外部联接运算符("*=" 或 "=*")。若要不进行修改即运行此查询,请使用存储过程 sp_dbcmptlevel 将当前数据库的
- 关于 “不允许从数据类型 sql_variant 到 uniqueidentifier 的隐式转换。请使用 CONVERT 函数来运行此查询“的最终解决
- 使用ODP.NET连接Oracle数据库一个OracleCommand运行多条SQL语句的方法
- 使用Oracle SQL Developer 编写运行 PL/SQL 块
- 使用Oracle SQL Developer 编写运行 PL/SQL 块
- SQL Server Extended Events使用1: 查询运行时间久的SQL语句
- 使用ANT运行SQL 存储过程
- 使用 SQL Server Management Studio的活动和监视器 查看运行的SQL语句
- 25.Oracle数据库SQL开发之 SQLPlus使用——保存、检索并运行文件
- excel使用技巧-在excel中运行sql
- php使用odbc执行复杂函数遇到的问题,sql语句直接在sqlserver数据库中运行有结果,使用php总是为空
- 使用 sqlcmd 运行 Transact-SQL 脚本文件
- Mysql 将结果保存到文件 从文件里运行sql语句 记录操作过程(tee 命令的使用)
- Spring Boot 中使用log4jdbc记录SQL的运行时参数
- 项目实战——sqlserver 使用With as 提高sql语句的可维护性和运行效率