SqlServer开窗函数
SqlServer2005以上版本提供了开窗排序和开窗聚集函数。
通过rank()和row_number()两个函数开窗排序。
rank()函数排列相同生成相同的排序,下一个不同排列排序将跳开,比如生成1 ,1,3。
row_number()函数即使排列相同也生成不同的排序,比如1,2,3。
over()中可以只排序,partition by分组开窗。
在开窗聚集中不能带排序。
select productNo,productName,price,amount, ROW_NUMBER() over(partition by productNo order by amount) rowNo, SUM(amount) over(partition by productNo) totalAmount, MAX(price) over(partition by productNo) maxPrice from product