MySQL查询总时间,其中值等于“ X”

时间:2019-05-14 22:13:17

标签: mysql

我有一个非常简单的表,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

0 个答案:

没有答案