我有一个非常简单的表,id,日期时间和状态(整数)。
如果我插入一行,则ID将自动递增,现在的时间为timedate,状态为1或0。
基本上,每次状态变化在1到0之间时,我都会插入。
是否可以查询当前表排列状态为1的总时间(分钟或秒)?
我不是在找人为我工作,而是在寻求指导。
我已经进行了一些搜索,也许我不知道这些关键词的效果最佳。任何帮助深表感谢。
编辑:这是一个带有数据的示例表,总时间应为660秒/ 11分钟。
Id t_stamp Status
1 2019-05-14 17:30:00 1
2 2019-05-14 17:35:00 0
3 2019-05-14 17:40:00 1
4 2019-05-14 17:45:00 0
5 2019-05-14 17:46:00 1
6 2019-05-14 17:47:00 0
这是一个确实给我正确结果的查询。这是第一个刺,是关于创建表或查询的更好方法的任何建议?
SELECT SUM(TIME_TO_SEC(Stop) - TIME_TO_SEC(Start)) AS Total FROM
(SELECT id, t_stamp AS Start FROM table WHERE status = 1) A INNER
JOIN (SELECT id, t_stamp AS Stop FROM table WHERE status = 0) B
ON A.id = B.id -1