mssql sqlserver 对不同群组对象进行聚合计算的方法分享

Posted Adeal(mssql_QQ群:314974645)

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mssql sqlserver 对不同群组对象进行聚合计算的方法分享相关的知识,希望对你有一定的参考价值。


摘要:
下文讲述通过一条sql语句,采用over关键字同时对不同类型进行分组的方法,如下所示:
实验环境:sql server 2008 R2



当有一张明细表,我们需同时按照不同的规则,计算平均、计数、求和等聚合计算时,此时我们可以使用
over子句对数据进行操作。
例:

我们需获取一个学生成绩的 总平均分 各科平均分 学生单科成绩同平均分的差异,此时我们可以多次使用over子句,得出我们想要的结果,
 

select 
[课程名],
[姓名],
[成绩],
AVG([成绩]) over () as [总平均分],
AVG([成绩]) over (partition by [课程名]) as [单科平均分],
[成绩] - AVG([成绩]) over (partition by [课程名]) as [平均分差异] 
from [学生成绩表]

摘自:http://www.maomao365.com/?p=7914

以上是关于mssql sqlserver 对不同群组对象进行聚合计算的方法分享的主要内容,如果未能解决你的问题,请参考以下文章

mssql sqlserver 快速表备份和表还原的方法

mssql sqlserver 使用sql脚本实现相邻两条数据相减的方法分享

mssql sqlserver 使用sql脚本实现相邻两条数据相减的方法分享

mssql sqlserver 添加表注释和添加列注释的方法分享

运用Navicat for MySQL进行MSSQL数据转移MYSQL

[TSQL|SQLSERVER|MSSQL数据库] 将不同磁盘上的数据库主文件和日志文件附加到数据库引擎