Here is desired result :
At ID=14, I need to reset cum value add with new cum_value
.
SQL : (fiddle : http://sqlfiddle.com/#!6/62f01/14)
Here is desired result :
At ID=14, I need to reset cum value add with new cum_value
.
SQL : (fiddle : http://sqlfiddle.com/#!6/62f01/14)
You were not so far, but I've try with less complicated queries :
DECLARE @t table(
id int
)
INSERT INTO @t (id)
VALUES (0),(1),(2),(3),(4),(5),(6),
(7),(8),(9),(10),(11),(12),(13),
(14),(15),(16),(17),(18),(19),
(20),(21),(22),(23),(24),(99);
SELECT *
,SUM(id)
OVER(ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS Cum_STEPID
FROM @t
WHERE id < 14
UNION
SELECT *
,SUM(CASE WHEN id = 14 THEN 91000 ELSE id END)
OVER(ORDER BY id ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW) AS Cum_STEPID
FROM @t
WHERE id >= 14