![](/img/trans.png)
[英]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.