У меня есть sqlite3 БД с последующей компоновки 3 колонкиАвтоматически рассчитывать DB записей с интервалом и записи периодически приводит к агрегации таблицы
typ (1=gas or 0=electrical power) | time (seconds since epoch) | value (float)
там, я документировать события от газового счетчика, который выстреливает через каждые 10 л потребляемой газ. Это (когда активируется газовый нагрев) через каждые ~ 20 секунд. Значение, записанное вместе с меткой времени, равно 0 (ноль).
Я хочу автоматически заполнить таблицу агрегатов счетчиком всех записей в течение 10 минут.
Я имел успех с этим запросом, чтобы получить отсчеты в пределах интервалов:
select time/600*600+600 _time, count(*) _count
from data
where typ = 1 and value = 0
group by _time
order by _time
Но как бы я достигнуть следующий:
- выполнить этот запрос регулярно проверяться через каждые 10 минут (или на каждом INSERT с TRIGGER?) В xx: 10/xx: 20/xx: 20/...
- записать итоговый счет только за последние 10 минут в таблицу агрегации вместе с временем окончания интервала.
Я, конечно, мог бы сделать это с помощью программы (например, PHP), но я предпочел бы только решение с БД, если это возможно.
Спасибо за любую помощь.