Совокупный итог в MS Sql server [дубликат]
Possible Duplicate:
Calculate a Running Total in SqlServer
Мне нужно получить совокупную (текущую) сумму столбца на сервере ms-sql. То есть если существует столбец с именем & # x201C; Marks & # x201D;, то соответствующая кумулятивная сумма каждой строки будет суммой текущей и предыдущей строк. Можем ли мы достичь результата без использования объединений? Потому что мой запрос довольно большой.
Я включил образец таблицы и данные:
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;
Ожидаемый результат:
В oracle легко написать, например:
SELECT
STUDENT_NAME,
MARKS,
SUM(MARKS) OVER (ORDER BY STUDENT_NAME) CUM_SUM
FROM SCORE_CHART
ORDER BY STUDENT_NAME;
Заранее спасибо.