Bạn có thể làm điều này bằng cách tự tham gia bảng. SUM sẽ cộng tất cả các hàng lên đến hàng này:
select cur.id, sum(prev.val)
from TheTable cur
left join TheTable prev
on cur.id >= prev.id
group by cur.id
MySQL cũng cho phép sử dụng các biến người dùng để tính toán điều này, điều này hiệu quả hơn nhưng được coi là một thứ gì đó hack:
select
id
, @running_total := @running_total + val AS RunningTotal
from TheTable