Php 在mysql查询中使用标志/状态计算时间

Php 在mysql查询中使用标志/状态计算时间,php,mysql,arrays,datetime,date-difference,Php,Mysql,Arrays,Datetime,Date Difference,请帮我查询mysql。 如何从状态为(开/关)的日期开始计算时间。 类似以下的示例数据: ------------------------------ status | date_in ------------------------------ ON | 2017-10-27 23:30:37 ON | 2017-10-28 01:08:40 ON | 2017-10-28 01:10:43 OFF | 2017-10-28

请帮我查询mysql。 如何从状态为(开/关)的日期开始计算时间。 类似以下的示例数据:

------------------------------ status | date_in ------------------------------ ON | 2017-10-27 23:30:37 ON | 2017-10-28 01:08:40 ON | 2017-10-28 01:10:43 OFF | 2017-10-28 01:15:51 OFF | 2017-10-28 01:26:28 ON | 2017-10-28 01:30:33 ON | 2017-10-28 02:00:15 ------------------------------ ----------------------------------------------- status | date_in | diff(hh:mm:ss) ----------------------------------------------- ON | 2017-10-27 23:30:37 | ON:00:00:00 ON | 2017-10-28 01:08:40 | ON:01:38:03 ON | 2017-10-28 01:10:43 | ON:00:02:03 OFF | 2017-10-28 01:15:51 | OFF:00:00:00 OFF | 2017-10-28 01:26:28 | OFF:00:10:17 ON | 2017-10-28 01:30:33 | ON:00:00:00 ON | 2017-10-28 02:00:15 | ON:00:29:42 ------------------------------------------------ ------------------------------ 状态|日期_in ------------------------------ 2017-10-27 23:30:37 2017年10月28日01:08:40 2017年10月28日01:10:43 关| 2017-10-28 01:15:51 OFF | 2017-10-2801:26:28 2017年10月28日01:30:33 2017-10-28 02:00:15 ------------------------------ 结果是:

------------------------------ status | date_in ------------------------------ ON | 2017-10-27 23:30:37 ON | 2017-10-28 01:08:40 ON | 2017-10-28 01:10:43 OFF | 2017-10-28 01:15:51 OFF | 2017-10-28 01:26:28 ON | 2017-10-28 01:30:33 ON | 2017-10-28 02:00:15 ------------------------------ ----------------------------------------------- status | date_in | diff(hh:mm:ss) ----------------------------------------------- ON | 2017-10-27 23:30:37 | ON:00:00:00 ON | 2017-10-28 01:08:40 | ON:01:38:03 ON | 2017-10-28 01:10:43 | ON:00:02:03 OFF | 2017-10-28 01:15:51 | OFF:00:00:00 OFF | 2017-10-28 01:26:28 | OFF:00:10:17 ON | 2017-10-28 01:30:33 | ON:00:00:00 ON | 2017-10-28 02:00:15 | ON:00:29:42 ------------------------------------------------ ----------------------------------------------- 状态|日期|差异(hh:mm:ss) ----------------------------------------------- 2017年10月27日23:30:37日00:00:00 2017-10-28 01:08:40 | ON:01:38:03 2017年10月28日01:10:43日00:02:03 OFF | 2017-10-28 01:15:51 | OFF:00:00:00 OFF | 2017-10-28 01:26:28 | OFF:00:10:17 2017年10月28日01:30:33日00:00:00 2017-10-28 02:00:15 | ON:00:29:42 ------------------------------------------------ 时间:00:00:00+01:38:03+00:02:03+00:00:00+00:29:42
=02:09:48/2小时9分48秒

关闭:00:00:00+00:10:17
=00:10:17/0小时10分17秒

非常感谢你对我的帮助



黛德·塔尔。gz@gmail.com

要计算时间差,需要区分两个时间戳。。但是你的问题还不够清楚

SELECT TIMEDIFF('2009-05-18 15:45:57.005678','2009-05-18 13:40:50.005670');

你有日期吗。。要获取不同的时间,您需要date\u out以获取不同的值。

您的查询在哪里?