MYSQL трудности с запросом в запросе или черт знает что

136
10 сентября 2019, 19:50

Имею таблицу в MYSQL: `

CREATE TABLE events (
         uid INT(11) AUTO_INCREMENT,
         time_event DATETIME,
         id_user INT(11),
         direct INT(1),
         PRIMARY KEY (uid)
    )

Где time_event - дата и время события, direct - направление события (вход(4)/выход(5)), ну и ид_узер - человек.

Задача встала вывести табель первого входа и последнего выхода и отработанное время, с ней на удивление справился быстро, но единственное не смог учесть направления, запросом ниже я получаю первое и последнее событие дня по узеру и отработанное время:

SELECT id_user as 'ID', 
        DATE(time_event) as 'Дата',
        TIME(min(time_event)) as 'Вход', 
        TIME(max(time_event)) as 'Выход', 
        SEC_TO_TIME(TIME_TO_SEC(max(time_event))-TIME_TO_SEC(min(time_event))) as 'Раб время'
FROM events
WHERE DATE(time_event) BETWEEN '2019-01-01' AND '2019-01-31'
GROUP BY id_user, DATE(time_event) 
ORDER BY id_user ASC,
        DATE(time_event) ASC

  ID |   Дата   |  Вход  | Выход  | Раб вр
68327|2019-01-18|13:26:37|17:27:14|04:00:37
68327|2019-01-19|13:26:37|17:27:14|04:00:37
68327|2019-01-20|13:26:37|17:27:14|04:00:37
68327|2019-01-21|13:26:37|17:27:14|04:00:37

Уважаемые спецы, голову сломал уже, как сделать запрос, чтобы по сотруднику за месяц получить сумму всех "Раб вр"?

Помогите пожалуйста, кто чем сможет!

Какой запрос в запросе надо сделать, чтобы рассчитать сначала по условию группы (сотрудник+дата) разницу макс и мин значений времени, а потом это все просуммировать за месяц (или какой либо выбранный период)?

Хочу в итоге получить что-то вроде:

  ID | MONTH|SUMTIME
68327|   1  |16:02:**

PS не судите строго, только-только начал погружаться в дебри SQL

READ ALSO
Вопрос по обработке больших данных в Maria DB

Вопрос по обработке больших данных в Maria DB

Имеется задача обработки и аналитики логовОбъем логов относительно большой: за сутки около 50 миллионов строк, 20 ГБ в таблице СУБД MiriaDB, движок...

115
Дублирование контента на html странице

Дублирование контента на html странице

Есть страница, она является адаптивной, но для ее адаптивности приходится дублировать контент, те

115
Как сделать так, чтобы ширина сайта изменялась по примеру vk.com

Как сделать так, чтобы ширина сайта изменялась по примеру vk.com

Как сделать так, чтобы ширина сайта изменялась по примеру vkcom ? То есть, у меня есть центральная часть шириной 960px, а отступы слева=справа=примерно...

147
БЭМ и состояния блока

БЭМ и состояния блока

Каким образом, в соответствии с БЭМ, реализовать кнопку имеющую два состояния: нажата и не нажата? Использовать псевдо-классы или создать...

95