SQL Server2008窗口计算
Posted 试看将来的环球,必将是代码的世界。
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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》 第九章
以上是关于SQL Server2008窗口计算的主要内容,如果未能解决你的问题,请参考以下文章
SQL Server 2008 Express 安装或卸载时提示“重启计算机失败"的解决办法
安装sql server 2008 R2,提示错误:此计算机上安装了 Microsoft Visual Studio 2008 的早期版本。请在安装 SQL Server 2008 前将 Micros