No sé si te habré entendido bien, pero si lo que quieres es un total acumulado, quizás la mejor solución la obtendrías con programación. No obstante, si te empeñas en hacerlo sólo con la base, un poco eficiente autojoin podría servirte:
Código sql:
Ver originalSELECT t1.mes, t1.ano, t1.dato1, SUM( t2.campocantidad ) totalacumulado
FROM tabla t1
INNER JOIN tabla t2 ON ( (
t1.mes >= t2.mes
AND t1.ano >= t2.ano
)
OR (
t1.mes <= t2.mes
AND t1.ano > t2.ano
) )
GROUP BY t1.mes
ORDER BY t1.ano, t1.mes
Y si quisieras obtener sólo subtotales y totales, mejor con group by ... with rollup
Código sql:
Ver originalSELECT mes, ano, SUM( camponumerico ) total
FROM tabla
GROUP BY ano, mes
WITH rollup