摘要:本文主要向大家介绍了SQLServer数据库中的Over子句的应用,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。
本文主要向大家介绍了SQLServer数据库中的Over子句的应用,通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。
A。将 OVER 子句与 ROW_NUMBER 函数结合使用
每个排名函数(ROW_NUMBER、DENSE_RANK、RANK、NTILE)都使用 OVER 子句。以下示例显示了将 OVER 子句与 ROW_NUMBER 结合使用。
SELECT
companyname,
invoicenumber,
customernumber,
ROW_NUMBER() OVER(PARTITION BY companyname,invoicenumber,customernu= mber
ORDER BY companyname,invoice= number,customernumber) AS rownum
FROM @Invoice= ListMaster
B. 将 OVER 子句与聚合函数结合使用
以下示例显示了将 OVER 子句与聚合函数结合使用。在此示例中,使用 OVER 子句比使用子查询的效率高。
USE AdventureWorks2008R2;
GO
SELECT SalesOrderID, ProductID, OrderQty
,SUM(OrderQty) OVER(PARTITION BY SalesOrderID) AS 'Total'
,AVG(OrderQty) OVER(PARTITION BY SalesOrderID) 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 'Max'
FROM Sales.SalesOrderDetail
WHERE SalesOrderID IN(43659,43664);
GO
下面是结果集:
本文由职坐标整理并发布,了解更多内容,请关注职坐标SQL Server数据库频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-IT技术咨询与就业发展一体化服务 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号