-- 开窗函数:在结果集的基础上进一步处理(聚合操作)

-- Over函数,添加一个字段显示最大年龄
SELECT * ,
MAX(StuAge) OVER ( ) MaxStuAge
FROM dbo.Student; -- Over函数,添加一个字段显示总人数
SELECT * ,
COUNT(StuID) OVER ( ) StuCount
FROM dbo.Student; -- Partition By 分组统计数量
-- 根据性别分组后,统计
SELECT COUNT(*) OVER ( PARTITION BY StuSex ) ,
*
FROM dbo.Student; -- 根据班级分组后,统计、排序
SELECT COUNT(*) OVER ( PARTITION BY Class ORDER BY Height) ,
*
FROM dbo.Student; -- Over函数,添加一个字段显示平均身高
SELECT * ,
AVG(Height) OVER ( ) AgeHeight
FROM dbo.Student; --Row_Rumber()
SELECT ROW_NUMBER() OVER ( ORDER BY StuID DESC ) RowNumber ,
*
FROM dbo.Student --Row_Rumber() 实现分页效果
;
WITH T AS ( SELECT ROW_NUMBER() OVER ( ORDER BY StuID DESC ) RowNumber ,
*
FROM dbo.Student
)
SELECT *
FROM T
WHERE T.RowNumber BETWEEN 1 AND 3; --Rank() 排名函数,名次相同,跳过
SELECT RANK() OVER ( ORDER BY Height ) ,
*
FROM dbo.Student; --DENSE_Rank() 排名函数,名次相同不跳过
SELECT DENSE_RANK() OVER ( ORDER BY Height ) ,
*
FROM dbo.Student; -- NTILE()函数,参数:记录总数/划分区域 = 每个区域数组,把记录序号放进数组 (平均分组)
SELECT NTILE(3) OVER ( ORDER BY StuSex ) ,
*
FROM dbo.Student;

  

SQL Server 2012 - 开窗函数的更多相关文章

  1. SQL SERVER:开窗函数 SUM() OVER() 数据统计中一例使用

    由于前一段时间胃痛,导致博客园博客都停更了一个月左右.近几天,胃病终于稍微有所好转,决定重新写博文. 前几天,有个朋友刚好问到本人有关 SQL 语句,大致是原表有两列,分别为月份.月份销售额,而需要一 ...

  2. sql server利用开窗函数over() 进行分组统计

    这是一道常见的面试题,在实际项目中经常会用到. 需求:求出以产品类别为分组,各个分组里价格最高的产品信息. 实现过程如下: declare @t table( ProductID int, Produ ...

  3. SQL Server 2012/2016/2017 新增函数

    /************************************************************** SQL Server 2012 新增的函数 ************** ...

  4. SQL Server 内置函数、临时对象、流程控制

    SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...

  5. 10、SQL Server 内置函数、临时对象、流程控制

    SQL Server 内置函数 日期时间函数 --返回当前系统日期时间 select getdate() as [datetime],sysdatetime() as [datetime2] getd ...

  6. SQL Server 2012新增和改动DMV

    SQL Server 2012新增和改动DMV  系统视图 说明 sys.dm_exec_query_stats (Transact-SQL) 添加了四列,以帮助排除长时间运行的查询所存在的问题. 可 ...

  7. SQL Server 2012大幅增强T-SQL

    SQL Server 2012对T-SQL进行了大幅增强,其中包括支持ANSI FIRST_VALUE和LAST_VALUE函数,支持使用FETCH与OFFSET进行声明式数据分页,以及支持.NET中 ...

  8. SQL Server 2012 实现分页新语法

    最近一直在看SQL Server的书,不过看的都是基础的查询流,查询在工作中用到的最多,所以能正确地查询出想要的数据也是很重要的嘛. 在书上看到在SQL Server 2012新增了一种实现分页的查询 ...

  9. SQL Server 2012复制教程以及复制的几种模式

    简介 SQL Server中的复制(Replication)是SQL Server高可用性的核心功能之一,在我看来,复制指的并不仅仅是一项技术,而是一些列技术的集合,包括从存储转发数据到同步数据到维护 ...

随机推荐

  1. arm汇编学习(六)---跳转到thumb状态

    通常函数返回使用 pop {r7,pc}或bx lr等方式(bx,b类似jmp为跳转指令,但bx可以指定跳转区域究竟为thumb还是arm指令.thumb指令指令的时候,直接填写该地址却总是产生SIG ...

  2. 微信jssdk 返回的 config invalid signature

    这几天一直在调试wxjssdk,按照api的需求,http://mp.weixin.qq.com/wiki/7/aaa137b55fb2e0456bf8dd9148dd613f.html ,先是根据a ...

  3. 【NLP_Stanford课堂】拼写校正

    在多种应用比如word中都有拼写检查和校正功能,具体步骤分为: 拼写错误检测 拼写错误校正: 自动校正:hte -> the 建议一个校正 建议多个校正 拼写错误类型: Non-word Err ...

  4. 字符串模式匹配之KMP算法的next数组详解与C++实现

    相信来看next数组如何求解的童鞋已经对KMP算法是怎么回事有了一定的了解,这里就不再赘述,附上一个链接吧:https://www.cnblogs.com/c-cloud/p/3224788.html ...

  5. 批量检查多个网址是否正常(shell编程)

    #!/bin/bash #version 1.1 #by zengj #using checking urls . /etc/init.d/functions checkurl() { wget -o ...

  6. ZT Factory Pattern

    图中的虚线箭头表示依赖关系

  7. vs2017 git到oschina 方法

    vs2017中git基本使用方法: 1.开发环境vs2017,git服务器使用git.oschina.net 2.打开vs2017 创建项目 如果已有项目则: 3.完成后在文件前面会有小锁的图标,说明 ...

  8. HDU 5677 ztr loves substring(Manacher+dp+二进制分解)

    题目链接:HDU 5677 ztr loves substring 题意:有n个字符串,任选k个回文子串,问其长度之和能否等于L. 题解:用manacher算法求出所有回文子串的长度,并记录各长度回文 ...

  9. try...finally的用法

    finally里面只是执行完成try中的代码后,必须执行的代码,即使是try中有异常抛出,也是会去执行finally. >>> try: ... 1/0 ... finally: . ...

  10. 闲来无事,用javascript写了一个简单的轨迹动画

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...