MySQL, группировка и выполнение SUM в группах

0

В таблице ниже приведены записи смен, которые произошли. Начальное и конечное поля являются начальной и конечной отметками времени этих смен. Я ищу построить запрос, который будет извлекать общее количество часов в месяц, которые покрывают смены.

Пример таблицы:

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, но мне не удалось получить что-то хорошее!

Спасибо!

Теги:

1 ответ

0

Ну вот:

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню