Mysql
 sql >> Datenbank >  >> RDS >> Mysql

MySQL-Abfrage, die Teilsummen berechnet

Sie können dies tun, indem Sie den Tisch mit sich selbst verbinden. Die SUMME addiert alle Zeilen bis zu dieser Zeile:

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

MySQL erlaubt auch die Verwendung von Benutzervariablen, um dies zu berechnen, was effizienter ist, aber als so etwas wie ein Hack betrachtet wird:

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