select *,LAG(金額,1,0)OVER(ORDER BY 年月) 環比金額 from( SELECT Top 1000000 年, 季度, 年月 ,SUM(金額本位幣) 金額 FROM ( SELECT * FROM [dbo].[T_output] ) cb_view GROUP BY 年, 季度, 年月 order by 年,季度, 年月 ) BB
如圖:函數
固然還有更直觀的寫法spa
SELECT Top 1000000 年, 季度, 年月 ,SUM(金額本位幣) 金額 ,LAG(SUM(金額本位幣),1,0)OVER(ORDER BY 年月) 環比金額 FROM ( SELECT * FROM [dbo].[T_output] ) cb_view GROUP BY 年, 季度, 年月
其實會發現下面的寫法和這裏的寫法獲取的結果同樣.net
SELECT Top 1000000 年, 季度, 年月 ,SUM(金額本位幣) 金額 ,LAG(SUM(金額本位幣),1,0)OVER(ORDER BY 年) 環比金額 FROM ( SELECT * FROM [dbo].[T_output] ) cb_view GROUP BY 年, 季度, 年月
一個是ORDER BY 年月 一個是ORDER BY 年,可是結果都是同樣的。code
參考:blog
https://blog.csdn.net/mango_love/article/details/84067911it