SQL Server2008窗口计算
2024-10-18 11:00:54
(一) 窗口的定义:指为用户指定的一组行,也称着"分区"。如下图所示的窗口分区。每一个班级看作是一个数据窗口,一共有三个窗口
(二)窗口计算的相关方法
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()进行分组统计
最新文章
- 4 多表代替密码之Hill 密码 2实现
- iOS 读取相册二维码,兼容ios7(使用CIDetector 和 ZXingObjC)
- Android学习二_八:Animation的使用(一) (转)
- Is Anchor magento
- Rectangle Intersection Test (with C#)
- could not open XXX permission denied
- Spring + JDK Timer Scheduler Example--reference
- linux下sed命令笔记
- Excel01-不同的单元格输入同一数据
- .net mvc下的Areas和小写Url
- Entity Framework 学习初级篇3-- LINQ TO Entities
- 数据处理包dplyr的函数
- ●BZOJ 1767 [Ceoi2009]harbingers
- PKU 3468 A Simple Problem with Integers
- 导航栏动态添加act属性
- The requested URL /xxxx.html was not found on this server
- REACT map dictionary
- SpringBoot集成Jasypt安全框架,配置文件内容加密
- Oracle数据库备份实验笔记[不完整,内容乱]
- jbosscache
热门文章
- Debugger 怎么用
- 【BZOJ-1010】玩具装箱toy DP + 斜率优化
- Python之禅+八荣八耻
- [NOIP2015] 提高组 洛谷P2668 斗地主
- 解析window.open链接的参数
- Linux 命令之 Navicat 连接 Linux 下的Mysql数据库
- plist文件的使用
- BZOJ1798: [Ahoi2009]Seq 维护序列seq
- HTML meta viewport属性详细说明
- electron package can not find module xml2json