SQL Server2008窗口计算
(一) 窗口的定义:指为用户指定的一组行,也称着"分区"。如下图所示的窗口分区。每一个班级看作是一个数据窗口,一共有三个窗口

(二)窗口计算的相关方法
1)over()用法 格式:函数名(列) over(选项)
OVER关键字表示把函数当成开窗函数而不是聚合函数。SQL标准允许将所有聚合函数用做开窗函数,使用OVER关键字来区分这两种用法。
(三)案例分析
(1) 查询工资小于5000元的员工信息(城市以及年龄),并且在每行中都显示所有工资小于5000元的员工个数
CREATE TABLE T_Person
(
FName VARCHAR(20),
FCity VARCHAR(20),
FAge INT,
FSalary INT
) INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Tom','BeiJing',20,3000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Tim','ChengDu',21,4000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Jim','BeiJing',22,3500);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Lily','London',21,2000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('John','NewYork',22,1000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('YaoMing','BeiJing',20,3000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Swing','London',22,2000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Guo','NewYork',20,2800);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('YuQian','BeiJing',24,8000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Ketty','London',25,8500);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Kitty','ChengDu',25,3000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Merry','BeiJing',23,3500);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Smith','ChengDu',30,3000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Bill','BeiJing',25,2000);
INSERT INTO T_Person(FName,FCity,FAge,FSalary) VALUES ('Jerry','NewYork',24,3300);

(2)对员工进行年龄分组且统计不同年龄员工人员总数
select *,count(FAge) over(partition by FAge) as Nums from T_Person order by FAge

参考资料:
1》张洪举 《锋利的SQL》 第九章
4》sql server如何利用开窗函数over()进行分组统计
SQL Server2008窗口计算的更多相关文章
- 介绍 .Net工具Code Snippet 与 Sql Server2008工具SSMS Tools Pack
不久前,某某在微软写了一个很酷的工具:Visual Stuido2008可视化代码片断工具,这个工具可以在http://www.codeplex.com/SnippetDesigner上免费下载,用它 ...
- SQL Server窗口框架——ROWS、RANGE
说到窗口框架就不得不提起开窗函数. 开窗函数支持分区.排序和框架三种元素,其语法格式如下: OVER ( [ <PARTITION BY clause> ] [ <ORDER BY ...
- 大家一起来学 NHibernate+NUnit (VS2012+SQL Server2008)
大家一起来学 NHibernate+NUnit (VS2012+SQL Server2008) 分类: C#2013-08-10 18:47 1589人阅读 评论(5) 收藏 举报 NHibernat ...
- 【Tech】SQL Server2008使用笔记
1.64位win7系统报错“未在本地计算机上注册 Microsoft.ACE.OLEDB.12.0 ”. 解决方法:从这个网址下载和安装一个驱动http://www.microsoft.com/zh- ...
- Installer - win10安装及卸载SQL Server2008数据库
一.数据库安装环境 操作系统:win10 SQL server:SQL server 2008 R2 二.全新数据库安装 1.安装扩展文件 双击安装文件,弹出如下窗体: ...
- sql server2008 装上后,总是出现machine.config line136,或者 出现 配置错误 无法识别的配置节 system.serviceModel 。
怀疑问题是vs 和 sql server2008安装冲突的问题造成, 有一个这样的说法: 用win8.1的64位 的系统,如果先装vs2010,再装sql server 2008 r2,根本就不行,一 ...
- Hive实战—时间滑动窗口计算
关注公众号:大数据技术派,回复: 资料,领取1024G资料. 目录 时间滑动计算 外部调用实现时间循环 自关联实现滑动时间窗口 扩展基于自然周的的滚动时间窗口计算 总结 时间滑动计算 今天遇到一个需求 ...
- 记录SQL Server2008日志文件损坏的恢复过程
记录SQL Server2008日志文件损坏的恢复过程: 环境: 系 统:Windows Server2003 数据库:SQL Server2008 故障原因: 通过mstsc链接同一服务器时,用户界 ...
- SQL Server2008附加数据库之后显示为只读时解决方法
啰嗦的话就不多说了,直入主题吧! 方案一: 碰到这中情况一般是使用的sa账户登录的,只要改为Windows身份验证,再附加数据库即可搞定. 方案二: 使用sa登录SQL Server2008附加数据库 ...
随机推荐
- linux定时器(crontab)实例
linux实验示例----实现每2分钟将“/etc”下面的文件打包存储到“/usr/lobal”目录下 ·Step1:编辑当前用户的crontab并保存终端输入:>crontab -u root ...
- python初识生成器 迭代器
生成器 带有 yield 的函数在 Python 中被称之为 generator(生成器) def xragns(): #定义函数生成器 print('小伙') yield ('好') #加上yiel ...
- 转发:IT行业中的甲方乙方关系
原文:http://byteh.blog.51cto.com/141786/1004046/ 混IT,必须理解“甲方乙方” By 韩宇斌 2012-09-23 9月初,修改了QQ签名,把“甲方乙方”放 ...
- js-JavaScript高级程序设计学习笔记13
第十五章 canvas绘图 1.WebGL是针对Canvas的3D上下文. 2.类型化数组 WebGL涉及的复杂计算需要提前知道数值的精度,而标准的JS数值无法满足需求.因此WebGL引入了一个概念, ...
- 【bzoj3674】 可持久化并查集加强版
http://www.lydsy.com/JudgeOnline/problem.php?id=3674 (题目链接) 题意 维护并查集3个操作:合并:回到完成第k个操作后的状态:查询. Soluti ...
- Beta版本——第七次冲刺博客
我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...
- Beta版本——第六次冲刺博客
我说的都队 031402304 陈燊 031402342 许玲玲 031402337 胡心颖 03140241 王婷婷 031402203 陈齐民 031402209 黄伟炜 031402233 郑扬 ...
- 多播程序设计(基于UDP协议)
首先要搞清楚多播IP地址有哪些 D类IP地址就是多播地址,范围是224.0.0.0 ~ 239.255.255.255 其中又划分为以下类别 D类地址的划分 类别 地址范围 描述 局部链接地址(本地网 ...
- ejb 远程调用
1,客户端代码: package com.example.test; import java.util.Hashtable; import java.util.Properties; import j ...
- iOS - 类簇
类簇是在Objective-C中Foundation Framework中广泛使用的一种设计模式 1.发现类簇(Class Cluster)的踪迹 //*> 执行下面代码 id obj1 = [ ...