文檔金喜正規買球>>Fastreport.Net 教程2018(完結)>>【FastReport教程】每個T-SQL程序員應該知道的窗口函數——第1部分
【FastReport教程】每個T-SQL程序員應該知道的窗口函數——第1部分
很久以前,Microsoft SQL Server 2005窗口函數中出現了一個有趣的功能。這些函數允許您在Select子句中的給定行范圍內執行計算。對于那些沒有遇到過這些功能的人來說,問題出現了 - “Window是什么意思?”。窗口表示在其中執行計算的行集。窗口功能允許您將整個數據集分成這樣的窗口。
當然,沒有它們,所有窗口函數都可以做到。但是,窗口函數與常規聚合函數相比具有很大的優勢:無需對數據集進行分組以進行計算,這允許您使用其唯一標識符保存集合中的所有行。同時,窗函數的工作結果只是作為另一個字段添加到結果樣本中。 使用窗口函數而不是常規聚合函數的主要優點如下:窗口函數不會將行分組為一行輸出,?R (ORDER BY ChildContractId) AS [SUM] FROM dbo.Pays p1
此選項更快,更簡潔。在我們的例子中,我們得到窗口中CustAccount字段的總和,該字段由ChildContractId字段組成。 這些查詢的結果將是表格:
根據Sum列中獲得的數據,我們確定從父合約轉移到子合同的金額。對于合同1000000002,我們全額償還了債務,因此支付金額為200.對于協議1000000003,債務部分償還 - 支付金額等于計算后的余額和支付余額之和第一條記錄(-1000 + 600 = -400)。