У меня есть таблица вроде этого:Сумма записей о качестве SQLite запроса
| id(INTEGER) | id2(INTEGER) | time(DATETIME) | value(REAL) |
|-------------|--------------|----------------------|-------------|
| 1 | 2000 | 2004-01-01 00:00:00 | 1000 |
который я запроса с помощью Visual Basic. Теперь я хочу, чтобы суммировать все данные между 2004 годом и 2010, так что результат выглядит следующим образом:
2004 11,000
2005 35,000
2006 46,000
Cif Я делаю это в визуальной основе это достигается с помощью нескольких петель, но, к сожалению, это не очень производительным.
Возможно ли создать запрос, который даст результат, скажем, между двумя годами, сгруппированными по годам. Или в течение двух месяцев (в течение одного года), сгруппированные по месяцам, дням (в течение одного месяца), часам (в течение одного дня), минутам (в течение одного часа)?
EDIT: запрос для летнего перерыва:
SELECT STRFTIME('%Y', time) AS year, SUM(value) AS cumsum FROM mytable WHERE year >= STRFTIME('%Y','2005-01-01 00:00:00') AND year <= STRFTIME('%Y','2010-01-01 00:00:00') GROUP BY STRFTIME('%Y', mytable.time) ORDER BY year;
Теперь нужна идея в течение нескольких месяцев, дней и часов.