我有一个“简化”表,如下所示:

player  round  point
1       1      25
2       1      18
3       1      15
1       2      18
2       2      25
3       2      15


我想创建一个基于plrID累计计算pointTot的视图

plrID  rndID  pnt  [pointTot]
1       1      25     25
2       1      18     18
3       1      15     15
1       2      18     43
2       2      25     43
3       2      15     30


最近几个小时,我一直在尝试不同的方法。

我需要基于plrID的变量var

就我所知,这还无法解决如何创建一个
@psum [@plrID]

set @psum := 0;
select `plrID`, `rndID`, `pnt`, (@psum := @psum + `pnt`) as `pointTot`
from `table`
order by `plrID`;

最佳答案

您可以使用以下查询来执行此操作

select t.plrID,t.rndID,t.pnt,sum(t1.pnt)
from table t
join table t1
on t.plrID = t1.plrID
and t1.rndID<=t.rndID
group by plrID,rndID

关于mysql - 在MySQL中基于ID创建累积总和列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38136093/

10-12 19:42