Mysql
 sql >> Base de données >  >> RDS >> Mysql

Requête MySQL qui calcule des sommes partielles

Vous pouvez le faire en joignant la table sur elle-même. Le SOMME additionnera toutes les lignes jusqu'à cette ligne :

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

MySQL permet également l'utilisation de variables utilisateur pour calculer cela, ce qui est plus efficace mais considéré comme un hack :

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