Total Cumulativo no servidor MS SQL [duplicado]
Duplicata Possível:
Calcular um total em execução no SqlServer
Eu preciso obter o total cumulativo (em execução) de uma coluna no servidor ms-sql. Ou seja se houver uma coluna chamada "Marcas", então, a soma cumulativa da soma de cada linha será a soma das linhas atual e anterior. Podemos obter o resultado sem usar joins? Porque minha consulta é bem grande.
Eu incluí uma tabela de amostra e dados:
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:
No oracle é fácil escrever como:
SELECT
STUDENT_NAME,
MARKS,
SUM(MARKS) OVER (ORDER BY STUDENT_NAME) CUM_SUM
FROM SCORE_CHART
ORDER BY STUDENT_NAME;
Desde já, obrigado.