0
我正在开发一个应用程序,以10秒为间隔从少量传感器中检索数据。这些值存储在一个单表sqlite数据库中。使用触发器维护每日最大值列表
这个应用程序的一个用例是打印读取的每个传感器的每日最大值。
我不喜欢在每次我想要检索这些值时发出类似于查询的MAX...GROUP BY day
的想法,因此我想维护包含thos每日最大值的第二个表。
- 这是执行此类任务的适当方式吗?
我试着写这样一个触发器,但它没有工作。我莫名其妙地失踪已经在DB做中新值的比较在当前小时的能力,和值(这可能是没有价值的,如果一个新的小时刚刚开始)
CREATE TRIGGER update_maxima AFTER INSERT ON tick BEGIN INSERT OR REPLACE INTO maxima (time, device_id, lW) VALUES ( strftime('%Y-%m-%d 00:00:00', 'now') , new.device_id, (select case when new.lW > (select lW from maxima where device_id = new.device_id AND time = strftime('%Y-%m-%d 00:00:00', 'now')) then new.lW else (select lW from maxima where device_id = new.device_id AND time = strftime('%Y-%m-%d 00:00:00', 'now')) end ) ); END
这正是我一直在寻找,我会测试,并接受你的答案 – Simbi 2013-03-20 12:11:54