add batch remove batch split batch comment selection show hidden batches hide batch highlight batch
db<>fiddle
donate feedback about
By using db<>fiddle, you agree to license everything you submit by Creative Commons CC0.
30 rows affected
ID Amount (No column name)
1 107.35 null
2 105.41 null
3 104.63 null
4 106.70 null
5 108.70 null
6 110.21 null
7 108.80 null
8 108.91 null
9 108.50 null
10 106.66 null
11 105.20 null
12 106.50 null
13 108.27 null
14 109.72 null
15 111.53 null
16 112.80 null
17 109.03 null
18 115.31 null
19 115.56 439.98
20 116.85 440.89
21 116.08 440.74
22 117.61 443.77
23 118.31 441.24
24 119.25 451.27
25 118.45 451.08
26 118.43 453.91
27 120.16 456.27
28 122.50 459.57
29 125.57 458.11
30 125.65 466.71
ID Amount (No column name)
1 107.35 null
2 105.41 null
3 104.63 null
4 106.70 null
5 108.70 null
6 110.21 null
7 108.80 null
8 108.91 null
9 108.50 null
10 106.66 null
11 105.20 null
12 106.50 null
13 108.27 null
14 109.72 null
15 111.53 null
16 112.80 null
17 109.03 null
18 115.31 null
19 115.56 439.98
20 116.85 440.89
21 116.08 440.74
22 117.61 443.77
23 118.31 441.24
24 119.25 451.27
25 118.45 451.08
26 118.43 453.91
27 120.16 456.27
28 122.50 459.57
29 125.57 458.11
30 125.65 466.71
SELECT YT.ID,
       YT.Amount,
       CASE WHEN ROW_NUMBER() OVER (PARTITION BY G.Grp ORDER BY ID) < @X+1 THEN NULL
            ELSE SUM(Amount) OVER (PARTITION BY G.Grp ORDER BY ID
                                   ROWS BETWEEN 3 PRECEDING AND CURRENT ROW)
       END
FROM dbo.YourTable YT
     CROSS APPLY (VALUES(ID % @N))G(Grp)
ORDER BY YT.ID;