Aquí hay un método para crear un total acumulado sin la ineficacia de sumar todas las filas anteriores. (Sé que esta pregunta es de 6 años de edad, pero es una de las primeras entradas de Google para ejecución total SQLite.)
create table t1 (value integer, accumulated integer, id integer primary key);
insert into t1 (value) values (1);
insert into t1 (value) values (3);
insert into t1 (value) values (13);
insert into t1 (value) values (1);
insert into t1 (value) values (5);
UPDATE
t1
SET
accumulated = ifnull(
(
SELECT
ifnull(accumulated,0)
FROM
t1 ROWPRIOR
WHERE
ROWPRIOR.id = (t1.id -1)),0) + value;
.headers on
select * from t1;
value|accumulated|id
1|1|1
3|4|2
13|17|3
1|18|4
5|23|5
Esto sólo se debe ejecutar una vez después de la importación de todos los valores. O bien, establezca la columna acumulada en todos los valores nulos antes de volver a ejecutar.
Si hubiera funcionado en una tabla sin identificación para ordenar (u ordenando después de otro criterio, sin posibilidad de estricta
moala
Puede hacer esto con una consulta analítica cuando usa Oracle, no es necesario unir uno mismo, vea http://www.orafaq.com/node/55. Tristemente sqlte no admite consultas analíticas. – TTT