Sql server 开窗函数over()的语法
来源:互联网 发布:linux7安装mysql 编辑:程序博客网 时间:2024/04/30 09:37
用法一:与ROW_NUMBER()函数结合用,给结果进行排序编号,如图:
代码如下:
SELECT ROW_NUMBER() over(order by RequiredDate) num ,* from [Northwind].[dbo].[Orders]
用法二:跟聚合函数一起使用,利用over子句的分组效率比group by子句的效率更高。
在Northwind数据库的订单表Orders中查询"订单id","客户id","运费","所有订单的总数",“每一个客户的总运费”,“所有客户的总运费”,“每一个客户的平均运费”,“所有客户的平均运费”,"每一个客户所有订单中最大的运费","所有客户中最大运费","每一个客户所有订单中最小的运费","所有客户中最小运费",如下图:
代码如下:
SELECT [OrderID] --订单id ,[CustomerID] --客户id ,[Freight] --运费 ,COUNT(OrderID) over() as totalNum --一所有订单的总数 ,SUM(Freight) over(partition by customerid) as cusTotalFreight --每一个客户的总运费 ,SUM(Freight) over() as totalFreight --所有客户的总运费 ,AVG(Freight) over(partition by customerid) as cusAvgFreight --每一个客户的平均运费 ,AVG(Freight) over() as avgFreight --所有客户的平均运费 ,MAX(Freight) over(partition by customerid) as cusMaxFreight --每一个客户所有订单中最大的运费 ,MAX(Freight) over() as maxFreight --所有客户中最大运费 ,MIN(Freight) over(partition by customerid) as cusMinFreight --每一个客户所有订单中最小的运费 ,MIN(Freight) over() as minFreight --所有客户中最小运费 FROM [Northwind].[dbo].[Orders]
0 0
- Sql server 开窗函数over()的语法
- Sql server 开窗函数over()的语法
- sql over开窗函数
- sql over开窗函数
- sql over开窗函数
- sql over开窗函数
- sql开窗函数over()用法
- sql开窗函数over()用法
- SQL Server - 开窗函数
- sql over开窗函数 和group by的区别
- SQL SERVER 开窗函数简介
- SQL SERVER中的开窗函数
- SQL SERVER 开窗函数简介
- 【SQL Server学习笔记】10:SELECT中开窗函数与OVER子句
- over 开窗函数使用说明
- oracle开窗函数over()
- Over子句开窗函数
- 理解over()开窗函数
- 关于ajax的案例
- DbType 对应类型
- codeforces 375D. Tree and Queries (莫队+分块)
- 挖矿程序minerd入侵分析和解决办法
- 文件包含
- Sql server 开窗函数over()的语法
- Error:java.util.concurrent.ExecutionException: com.android.ide.common.process.ProcessException
- Class org.apache.commons.logging.impl.Jdk14Logger does not implement Log 解决方法
- AngularJs 上传文件到服务器
- java多线程设置超时时间
- 关于break
- 利用ContentResolver内容访问者获取手机联系人信息
- JavaScript获取系统时间参数代码
- java