Total acumulado en el servidor MS Sql [duplicado]
Posible duplicado:
Calcular un total acumulado en SqlServer
Necesito obtener el total acumulado (en ejecución) de una columna en el servidor ms-sql. Es decir. Si hay una columna llamada "Marcas", la suma de las filas actual y anterior corresponderá a la suma acumulada de cada fila. ¿Podemos lograr el resultado sin usar uniones? Porque mi consulta es bastante grande.
He incluido una tabla de muestra y datos:
CREATE TABLE "SCORE_CHART"
(
"STUDENT_NAME" NVARCHAR(20),
"MARKS" INT
)
INSERT INTO SCORE_CHART (STUDENT_NAME, MARKS) VALUES ('STUD1', 95);
INSERT INTO SCORE_CHART (STUDENT_NAME, MARKS) VALUES ('STUD2', 90);
INSERT INTO SCORE_CHART (STUDENT_NAME, MARKS) VALUES ('STUD3', 98);
SELECT STUDENT_NAME, MARKS FROM SCORE_CHART;
Resultado Esperado:
En oracle es fácil escribir como:
SELECT
STUDENT_NAME,
MARKS,
SUM(MARKS) OVER (ORDER BY STUDENT_NAME) CUM_SUM
FROM SCORE_CHART
ORDER BY STUDENT_NAME;
Gracias por adelantado.