SQL中前一列加当前列的总和

use*_*350 1 sql sql-server

说我有下表:

 Id     Grade 1    Grade 2    Grade 3
  1       1           1         1  
  2       5           0         0
  3       3           1         5
Run Code Online (Sandbox Code Playgroud)

我希望结果完全如下:

 Id     Grade 1    Grade 2    Grade 3      Total
  1       1           1         1            3
  2       5           0         0            8
  3       3           1         5            17
Run Code Online (Sandbox Code Playgroud)

总计应该是当前列+之前总计的总和.

这可能在MYSQL中吗?

fan*_*nts 5

select
t.*,
@rolling_sum := @rolling_sum + `Grade 1` + `Grade 2` + `Grade 3` AS Total
from
Table1 t
, (select @rolling_sum := 0) var_init
order by id
Run Code Online (Sandbox Code Playgroud)

另一个版本:

select t.*,
(select sum([Grade 1] + [Grade 2] + [Grade 3]) from Table1 sub_t where sub_t.id <= t.id)
from Table1 t
order by id
Run Code Online (Sandbox Code Playgroud)