Boa tarde, estou precisando fazer algo parecido com isso que consegui fazer para Oracle: WITH minha_tabela AS (SELECT 1 doc, 'alguma coisa' historico, 5 debito, 0 credito from dual UNION ALL SELECT 2 doc, 'alguma coisa' historico, 5 debito, 0 credito from dual UNION ALL SELECT 3 doc, 'alguma coisa' historico, 0 debito, 8 credito from dual UNION ALL SELECT 4 doc, 'alguma coisa' historico, 0 debito, 15 credito FROM dual) -- END OF TEST DATA SETUP **** NOW TO THE QUERY WE'RE INTERESTED IN: SELECT doc, historico, debito, credito, Sum(debito - credito) over (order by doc) saldo FROM minha_tabela; Este sql gera um saldo para 1ª linha, depois soma com o resultado da 2ª linha para outro saldo e assim por diante. Mas essa sintaxe é apenas para Oracle, alguém sabe uma forma de fazer em MySQL?