Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Consulta MySQL que calcula somas parciais


Você pode fazer isso juntando a mesa em si mesma. A SOMA adicionará todas as linhas até esta linha:
select cur.id, sum(prev.val)
from TheTable cur
left join TheTable prev
    on cur.id >= prev.id
group by cur.id

O MySQL também permite o uso de variáveis ​​do usuário para calcular isso, o que é mais eficiente, mas considerado uma espécie de hack:
select 
     id
,    @running_total := @running_total + val AS RunningTotal
from TheTable