Mysql 在SQL中布尔字段为true时计算持续时间
我在MySQL数据库中有下表,它记录了系统打开或关闭的时间。目前每十分钟采集一次数据,但将来可能会发生变化Mysql 在SQL中布尔字段为true时计算持续时间,mysql,sql,timestamp,duration,Mysql,Sql,Timestamp,Duration,我在MySQL数据库中有下表,它记录了系统打开或关闭的时间。目前每十分钟采集一次数据,但将来可能会发生变化 timestamp on 2014-12-29 07:59:59 1 2014-12-29 08:09:59 1 2014-12-29 08:20:00 1 2014-12-29 08:29:58 0 2014-12-29 08:39:59 1 2014-12-29 08:49:59 1 2
timestamp on
2014-12-29 07:59:59 1
2014-12-29 08:09:59 1
2014-12-29 08:20:00 1
2014-12-29 08:29:58 0
2014-12-29 08:39:59 1
2014-12-29 08:49:59 1
2014-12-29 08:59:58 0
2014-12-29 09:09:59 0
2014-12-29 09:19:58 0
2014-12-29 09:29:59 0
2014-12-29 09:39:58 1
2014-12-29 09:49:59 0
我目前正在用Python对pandas进行一些处理,以计算系统运行的时间。我通过获取状态更改的点,然后计算这些时间之间的持续时间来实现这一点
在SQL中有这样做的方法吗?如果可能的话,我宁愿在数据库中进行,特别是因为我可以在一段时间内每天都这样做,而无需将所有数据传输到客户端。在pandas中,我使用shift函数获取下一行,看看它是否不同,但在MySQL中我看不到这样做的方法
有什么想法吗
可以在上使用SQL设置包含上述示例数据的表格。请使用所需结果编辑您的问题。请不要在保留关键字后命名列。。。您关于的专栏显然与SQL命令JOIN-On、On-DUPLICATE-KEY-UPDATE等有冲突。这当然不是一个很好的回答,也不是一个技术性的回答,但是如果您实际上每10分钟查看一次状态,您可以将On的计数乘以10分钟。