Помогите с группировкой в запросе

74
21 августа 2019, 13:30

Нужно получить промежутки времени работы менеджеров, 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

На скриншоте структура таблицы:

READ ALSO
Дизайн кнопки с помощью СSS

Дизайн кнопки с помощью СSS

Подскажите пожалуйста, как можно сделать такой дизайн кнопки с помощью CSS или только можно с наложением background?

92
Отслеживание изменения url в iFrame

Отслеживание изменения url в iFrame

Друзья подскажите как реализовать силами js(jquery) отслеживание того какая ссылка сейчас открыта в iframe и по каким ссылкам ходит пользовательИ...

76
Не работает калькулятор javascript

Не работает калькулятор javascript

не работает калькулятор, в каждом классе должна отображаться своя сумма, калькулятор не работает так как скрипт не понимает откуда брать...

101
Секундомер на js

Секундомер на js

Подскажите пожалуйста, есть код js секундомера:

114