sql语句关键字over的作用及用法

上传人:宝路 文档编号:2473701 上传时间:2017-07-24 格式:DOC 页数:4 大小:78.50KB
返回 下载 相关 举报
sql语句关键字over的作用及用法_第1页
第1页 / 共4页
sql语句关键字over的作用及用法_第2页
第2页 / 共4页
sql语句关键字over的作用及用法_第3页
第3页 / 共4页
sql语句关键字over的作用及用法_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《sql语句关键字over的作用及用法》由会员分享,可在线阅读,更多相关《sql语句关键字over的作用及用法(4页珍藏版)》请在金锄头文库上搜索。

1、sql 语句关键字 over 的作用及用法 在应用具体的聚合函数、排名函数前对行集的分区和排序。over 子句,用于支持窗口的计算,所以一般与排名开窗函数、聚合开窗函数一起使用。窗口是用户指定的一组行。开窗函数计算从窗口派生的结果集中各行的值。以前使用聚合函数必须分组,即便没有 group by 子句,也是默认将表中所有的数据分成了 1组,来聚合。通过使用 over子句可以在不分组的情况下实现聚合运算,在查询结果集中既包含基础行的数据也包含聚合函数的值。(可以把 over()子句理解成是“后台运行的数据”,只是为了让聚合函数或者是排名函数“用一下”,并不影响实际显示的数据。在后台提供数据。)o

2、ver子句的两种使用方式:1.over子句与排名开窗函数一起用,语法:over(partition by 列 1 order by 列 2)。必须有 order by 子句2.over子句与聚合开窗函数一起用,语法:over(partition by 列 1)不能使用 order by子句了。【先演示这个】注:当 over()子句与聚合函数一起使用时,也可以直接写 count(*) over()不在 over()子句中进行任何分区,表示把整个表分为一个区。第 1 种使用方式over不能单独使用,要和分析函数:rank(),dense_rank(),row_number()等一起使用。其参数:o

3、ver ( partition by columnname1 order by columnname2)含义:按columname1指定的字段的值,对查询后的结果集进行分组再组内排序,形成结果集中的一个新列。若SQL语句最后有 order by,则把最终的结果集再整体排序。例如:employees表中,有两个部门的记录: department_id 10 和20SQL语句 “select department_id ,salary,rank() over(partition by department_id order by salary ) from Employees ”,就是指在部门10

4、中进行薪水的排名,在部门20中进行薪水排名。如果是没有partition by部分,则是在整个公司内进行排名。第 2 种使用方式下面的示例对于查询返回的所有行,将 OVER 子句与聚合函数一起使用。 在这个示例中,使用OVER 子句与使用子查询相比,可以更高效地派生聚合值。USE AdventureWorks2012;GOSELECT SalesOrderID, ProductID, OrderQty,SUM(OrderQty) OVER(PARTITION BY SalesOrderID) AS Total,AVG(OrderQty) OVER(PARTITION BY SalesOrder

5、ID) AS Avg,COUNT(OrderQty) OVER(PARTITION BY SalesOrderID) AS Count,MIN(OrderQty) OVER(PARTITION BY SalesOrderID) AS Min,MAX(OrderQty) OVER(PARTITION BY SalesOrderID) AS MaxFROM Sales.SalesOrderDetail WHERE SalesOrderID IN(43659,43664);GO下面是结果集:SalesOrderID ProductID OrderQty Total Avg Count Min Max

6、- - - - - - - -43659 776 1 26 2 12 1 643659 777 3 26 2 12 1 643659 778 1 26 2 12 1 643659 771 1 26 2 12 1 643659 772 1 26 2 12 1 643659 773 2 26 2 12 1 643659 774 1 26 2 12 1 643659 714 3 26 2 12 1 643659 716 1 26 2 12 1 643659 709 6 26 2 12 1 643659 712 2 26 2 12 1 643659 711 4 26 2 12 1 643664 772 1 14 1 8 1 443664 775 4 14 1 8 1 443664 714 1 14 1 8 1 443664 716 1 14 1 8 1 443664 777 2 14 1 8 1 443664 771 3 14 1 8 1 443664 773 1 14 1 8 1 443664 778 1 14 1 8 1 4

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号