Выполнение вычисления префикса с использованием SQL без определенных процедур - PullRequest
1 голос
/ 13 октября 2010

У меня есть таблица со столбцом целых чисел - мне нужен способ для генерации «префикса» этого столбца в другой таблице.

Например,

У меня есть 1, 0, 0, 0, 1, 0, 1, 0, 0 в качестве входа
Мне нужно 1, 1, 1, 1, 2, 2, 3, 3, 3 в качестве выхода

Это нужно сделать на SQL-диалекте SQLite, пользовательские функции или хранимые процедуры невозможны.

Ответы [ 2 ]

1 голос
/ 13 октября 2010

Таким образом, чтобы вставить таблицу из input в таблицу output, необходимо выполнить следующий запрос:

INSERT INTO output
SELECT id,
(SELECT sum(i1.value) FROM input AS i1 WHERE i1.rowid  <= i2.rowid) as VALUE
FROM input AS i2
1 голос
/ 13 октября 2010

попробуйте что-то вроде этого:

select value,
(select sum(t2.value) from table t2 where t2.id <= t1.id ) as accumulated
from table t1

from: SQLite: столбец аккумулятора (суммы) в операторе SELECT

...