MySQL和时间序列布尔状态更改

时间:2013-09-10 15:17:19

标签: mysql sql aggregate-functions

我有一个时间序列(在MySQL中,尽管最终可能在PostgreSQL中)表:

CREATE TABLE `logging` (
  `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
  `recordtime` timestamp NOT NULL,
  `device_on` enum('N','Y') CHARACTER SET utf8 NOT NULL DEFAULT 'N',
  PRIMARY KEY (`id`),
);

基本上,该表记录了远程传感器设备的“开/关”状态。还有一些其他专栏,但它们与此处的问题无关。大多数日志事件以标准的2分钟间隔发生,但这可能是变化的,可能存在差距等。表格还不是很大(仅仅一百多万年),但是会在未来相当一致地增长!

我正在寻找有趣的方法来运行一个查询,它可以给我在给定时间跨度内花费在(device_in ='Y')上的总时间。我当前的解决方案绝对不是最优的,并且使用Javascript在用户端进行计算。

作为第二个(相关)问题,有关如何在此表上构建索引键的任何建议吗?

谢谢!

0 个答案:

没有答案