[英]Dynamically add previous row value to current row value in SQL(Postgres)
[英]SQL - Add value with previous row only
我有一個名為myvals的表,其中包含以下字段:
ID number
-- -------
1 7
2 3
3 4
4 0
5 9
從第二行開始,我想在前一行添加數字。 因此,我的最終結果將如下所示
ID number
-- ------
1 7
2 10
3 7
4 4
5 9
您可以使用LAG分析功能
SELECT Id, number + LAG(number,1,0) OVER (ORDER BY Id) FROM table
首先是第一。 您不能為ID 1添加必須為null的值。
create table #temp
(
month_type datetime,
value int
)
insert into #temp
Select '2015/01/01',1
union
Select '2015/02/01',2
union
Select '2015/03/01',3
union
Select '2015/04/01',4
SELECT t.value,t1.value,(t.value+t1.value)/2 FROM #temp t1
left join #temp t on t.month_type=Dateadd(MONTH,-1,t1.month_type)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.