前5周的T-SQL回报金额?

时间:2018-04-25 23:11:21

标签: sql sql-server return

我有一张包含以下信息的表格:

enter image description here

我正在使用SSMS创建一个“目标”列,该列将使用5周前的TotalAmt。有没有办法从5周前返回总金额?

示例:

enter image description here

2 个答案:

答案 0 :(得分:3)

我认为LEAD windows函数可以帮助你做到这一点。

SELECT *,LEAD(Totle,4,0) OVER (ORDER BY Begin_date desc,EndDate desc) 'Goal Amt'
FROM T

LEAD

sqlfiddle:http://sqlfiddle.com/#!18/152f7/4

答案 1 :(得分:1)

虽然我是lead()的忠实粉丝,但我认为更明智的方法是lag()

select lag(total, 4) over (order by begin_date)