Пожалуйста, помогите мне в запросе MySQL.
Как рассчитать время от date_in со статусом (ON / OFF).
Пример данных, как это:
------------------------------ статус | date_in ------------------------------ ON | 2017-10-27 23:30:37 ON | 2017-10-28 01:08:40 ON | 2017-10-28 01:10:43 ВЫКЛ | 2017-10-28 01:15:51 ВЫКЛ | 2017-10-28 01:26:28 ON | 2017-10-28 01:30:33 ON | 2017-10-28 02:00:15 ------------------------------
и результат хочет вот так:
----------------------------------------------- статус | date_in | Diff (чч: мм: сс) ----------------------------------------------- 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 ВЫКЛ | 2017-10-28 01:15:51 | OFF: 00: 00: 00 ВЫКЛ | 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 ------------------------------------------------
ON: 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 секунд
Спасибо большое за помощь мне …
чтобы посчитать разницу во времени, нужно различать две отметки времени .. но ваш вопрос недостаточно ясен ..
SELECT TIMEDIFF('2009-05-18 15:45:57.005678','2009-05-18 13:40:50.005670');
у вас есть date_in .. чтобы получить другое время вам нужно date_out, чтобы получить другое значение.
Других решений пока нет …