Нужно получить промежутки времени работы менеджеров, 15 минут бездействия считать за перерыв. И группировать их по менеджерам. Есть такой запрос:
SELECT
Managers.name,
manager_id,
work_period,
MIN(datetime) AS `start`,
MAX(datetime) AS `end`,
TIMEDIFF(
MAX(datetime),
MIN(datetime)
) AS `result`
FROM
(
select
manager_id,
datetime,
@workperiod := @workperiod + if(
datetime > @prev + interval 10 minute,
1, 0
) as work_period,
@prev := datetime
from
user_log,
(
select
@prev := NULL,
@workperiod := 1
) X
order by
datetime
) A
INNER JOIN managers as Managers ON Managers.id = manager_id
WHERE
datetime like '2019-01-18%'
GROUP BY
work_period,
manager_id
Помогите пожалуйста переделать так, что бы этот фрагмент, считался с учетом manager_id. Сейчас проверка интервала идет с предыдущей записью не учитывая менеджера.
@workperiod := @workperiod + if(
datetime > @prev + interval 10 minute,
1, 0
) as work_period
На скриншоте структура таблицы:
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости