В таблице ниже приведены записи смен, которые произошли. Начальное и конечное поля являются начальной и конечной отметками времени этих смен. Я ищу построить запрос, который будет извлекать общее количество часов в месяц, которые покрывают смены.
Пример таблицы:
ID Start End
1 2018-10-23 10:30:00 2018-10-23 11:45:00
2 2018-10-22 22:00:00 2018-10-22 23:00:00
3 2018-11-22 22:00:00 2018-11-22 23:00:00
Идеальный результат будет выглядеть так:
Month Hours
10 2:15
11 1:00
Я разработал некоторые элементы, используя SUM (timediff (end, start)) и GROUP BY, но мне не удалось получить что-то хорошее!
Спасибо!
Ну вот:
select
month(start) as month,
time_format(sec_to_time(
sum(timestampdiff(second, start, end))
), '%H:%i') as hours
from shift
group by month(start)
Результат:
month hours
----- -----
10 02:15
11 01:00