Как sumarize корректно датавремя (разность между параметром и использоваться следующие переменные) - в MySQL
Я использую в mysql. Я создал таблицу "Sikcness" и добавил одну запись:
+--------+---------+---------+-------------+--------+----------+ | Id_SICK|ID_WORKER| BEGIN_DATE | END_DATE | +--------+---------+---------+----------+------------+---------+ | 1 | 1 |2019-03-18 07:00:00 |2019-03-20 15:00:00 | +--------+---------+--------+------------+----------+----------+
Затем я хотел бы суммировать во времени (разница во времени между столбцом End_date и столбцом begin_date) с помощью команды:
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(Sickness.END_DATE) - TIME_TO_SEC(Sickness.BEGIN_DATE))) AS 'SICKNESS TIME' FROM Sickness WHERE ID_WORKER = 1
Но у меня есть только этот результат (который неверен):
SICKNESS TIME 08:00:00
Эта команда должна считать его так:
+---------+-------------+--------+----------+ | BEGIN_DATE | END_DATE | +---------+----------+------------+---------+ |2019-03-18 07:00:00 |2019-03-18 15:00:00 | +--------+------------+----------+----------+ |2019-03-19 07:00:00 |2019-03-19 15:00:00 | +--------+------------+----------+----------+ |2019-03-20 07:00:00 |2019-03-20 15:00:00 | +--------+------------+----------+----------+
Тогда это было бы правильно:
SICKNESS TIME 24:00:00
Какой тип запроса mysql я должен написать? Есть идеи? Приветствует.
Что я уже пробовал:
Я пробовал только с этой командой ниже:
SELECT SEC_TO_TIME(SUM(TIME_TO_SEC(Sickness.END_DATE) - TIME_TO_SEC(Sickness.BEGIN_DATE))) AS 'SICKNESS TIME' FROM Sickness WHERE ID_WORKER = 1
И это не сработало. :(
Mohibur Rashid
Сделайте это наоборот, запустите sum на diff, а затем преобразуйте обратно в день и час