OVER子句
- 覆盖了窗口所覆盖的与当前行相关的数据行集、行的排序及其他相关元素
- 更准确的说,根据窗口函数作为输入出现在查询逻辑处理阶段的位置,窗口函数可以是一个数据行集或一个关系
例子如下:1
2
3SELECT orderid,orderdate,val,RANK() OVER (ORDER BY val DESC) AS rnk
FROM Sales.OrderValues
ORDER BY rnk
聚合函数
- SUM
- COUNT
- MIN
- MAX
SQLSERVER 2005 开始支持
排名函数
- RANK
- DENSE_RANK
- ROW_NUMBER
- NTILE
SQLSERVER 2005 开始支持
分布函数
- PERCENT_RANK
- CUME_DIST
- PERCENT_CONT
- PERCENTILE_DISC
SQLSERVER 2012 开始支持
偏移函数
- LAG
- LEAD
- FIRST_VALUE
- LAST_VALUE
以上四个函数SQL SERVER2012开始支持 - NTH_VALUE