Though I can't say this solution to be optimal but should do the job.
Give a try.
SELECT T1.ID,
ISNULL((SELECT SUM(T2.AddValue)
FROM [TableName] T2
WHERE T2.ID < T1.ID),0) AS [Sum]
,T1.AddValue
FROM [TableName] AS T1
UNION
SELECT MAX(ID)+1,SUM(AddValue),NULL FROM [TableName]
Here is an example for your reference:
DECLARE @TBL TABLE (ID INT, AddValue INT)
INSERT INTO @TBL
SELECT 1 ID, 255 AddValue
UNION
SELECT 2, 45
UNION
SELECT 3, 200
SELECT T1.ID,
ISNULL((SELECT SUM(T2.AddValue)
FROM @TBL T2
WHERE T2.ID < T1.ID),0) AS [Sum]
,T1.AddValue
FROM @TBL AS T1
UNION
SELECT MAX(ID)+1,SUM(AddValue),NULL FROM @TBL
Output:
ID Sum AddValue
1 0 255
2 255 45
3 300 200
4 500 NULL
Hope it helps :)