Aquí está el SQL Fiddle que demuestra la siguiente consulta:
WITH TempS as
(
SELECT s.SNo, s.value,
ROW_NUMBER() OVER (ORDER BY s.SNo) AS RowNumber
FROM MyTable AS s
)
SELECT m.SNo, m.value,
(
SELECT SUM(s.value)
FROM TempS AS s
WHERE RowNumber >= m.RowNumber
AND RowNumber <= m.RowNumber + 2
) AS Sum3InRow
FROM TempS AS m
En su pregunta, estaba pidiendo sumar 3 valores consecutivos. Modificó su pregunta diciendo que la cantidad de registros consecutivos que necesita sumar podría cambiar. En la consulta anterior, simplemente necesita cambiar el m.RowNumber + 2
a lo que necesites.
Entonces, si necesita 60, use
m.RowNumber + 59
Como puedes ver es muy flexible ya que solo tienes que cambiar un número.