微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐