SqlServer2005以上版本提供了開窗排序和開窗彙集函數。函數
經過rank()和row_number()兩個函數開窗排序。spa
rank()函數排列相同生成相同的排序,下一個不一樣排列排序將跳開,好比生成1 ,1,3。code
row_number()函數即便排列相同也生成不一樣的排序,好比1,2,3。blog
over()中能夠只排序,partition by分組開窗。排序
在開窗彙集中不能帶排序。it
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