簡體   English   中英

SQL-僅在上一行添加值

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM