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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM