SqlServer笔记-over()开窗函数案例

over():开窗函数。

开窗函数就是在查询的总记录中使用记录的一部分进行操作。
在没有开窗函数时,select子句中如果出现聚合函数,就不能查看具体的记录信息,只能查看组的信息。开窗函数可以让我们同时查询聚合函数和组内记录。
over的意思是基于什么做运算,over后面表示一个范围,如果是空括号 over (),表示基于查询出的所有记录

案例1:在总记录中添加统计函数,不需要group by
select name,count(*) over() as 总数 from tb_promocodenew where id<5000
案例2:查看订单信息,并显示当前用户的总订单金额
select id,UserID,sum(TotalPrice) over (partition by UserID) as 当前用户总金额 from tb_promocodenew where id<5000;
案例3:行号
select*,ROW_NUMBER() Over(order by ID) as rowId from tb1
案例4:显示多组行号,按codeClass分组显示行号:
select name,CodeClass
,sum(CodeValue) over (partition by CodeClass)
,ROW_NUMBER() over (partition by codeClass order by name) 
from tb_promocodenew where id<5000;

 

未完待续...

你可能感兴趣的:(SqlServer笔记-over()开窗函数案例)