2015-12-06 3 views
0

Извините, потому что я не думаю, что хорошее название для моей проблемы. У меня есть таблица а (f1 целое число, дата Long), увеличение даты, а данныеСумма всего поля с другим полем <self in sqlite

f1  date 
1  1 
2  2 
3  3 
... 

мне нужно подвести f1 по дате, с записью 1 {1,1} сумма f1 = 1, с записью 2 сумма f1 равна 1 + 2, запись 3 сумма f1 равна 1 + 2 + 3 ... Как я могу это сделать?

ответ

0

Это требует correlated subquery:

SELECT date, 
     (SELECT SUM(f1) 
     FROM a AS a2 
     WHERE a2.date <= a.date 
     ) AS f1_sum 
FROM a 
ORDER BY date; 

Но это неэффективно. Рассмотрите возможность просто сканировать таблицу, отсортированную по дате, и суммирование f1, когда вы ее читаете.