sql >> Base de Datos >  >> RDS >> Mysql

Consulta MySQL que calcula sumas parciales

Puedes hacer esto uniendo la mesa sobre sí misma. La SUMA sumará todas las filas hasta esta fila:

select cur.id, sum(prev.val)
from TheTable cur
left join TheTable prev
    on cur.id >= prev.id
group by cur.id

MySQL también permite el uso de variables de usuario para calcular esto, lo que es más eficiente pero se considera un truco:

select 
     id
,    @running_total := @running_total + val AS RunningTotal
from TheTable