eddie
Новичок
Re: Суммирование по накопительному признаку
хотя вопрос-то интересный -- есть над чем голову поломать
если данные физически отсортированы по time (то есть всегда insert с большим временем) -- тогда можно сделать следующее:
добавить еще одно поле sumPrevious, где записывать сумму всех предыдущих b
|a|b|sumPrevious|time|
1 1 0 t
2 2 1 t+1
3 3 3 t+2
4 4 6 t+3
5 5 10 t+4
mysumPrevious = select sumPrevious ... where time>xxx limit 1
select * ... where time>xxx and sumPrevious<=mysumPrevious+xx order by time
p.s. удивительно, но модераторы раздражают
поругались и тему закрыли (поэтому открыл по новой)Суммирование по накопительному признаку
Есть таблица
________
|a|b|time|
Так вот мне нужно из неё получить sum(a) для записей начиная от времени T и до того как sum(b) станет равным X.
Т.е. "от обеда и до забора"
Кто-то знает как это описать на SQL?
хотя вопрос-то интересный -- есть над чем голову поломать
если данные физически отсортированы по time (то есть всегда insert с большим временем) -- тогда можно сделать следующее:
добавить еще одно поле sumPrevious, где записывать сумму всех предыдущих b
|a|b|sumPrevious|time|
1 1 0 t
2 2 1 t+1
3 3 3 t+2
4 4 6 t+3
5 5 10 t+4
mysumPrevious = select sumPrevious ... where time>xxx limit 1
select * ... where time>xxx and sumPrevious<=mysumPrevious+xx order by time
p.s. удивительно, но модераторы раздражают