Ребята, помогите записать и выполнить данный запрос в finder cakephp 3.5.10
select user_id, GRP, MIN(time) as Start, MAX(time) as End
from (select user_id, time,
@grp:=@grp+if(time>@prev+interval 30 minute,1,0) as GRP,
@prev:=time
from user_log, (select @prev:=NULL, @grp:=1) X
order by time) A
group by GRP
в итоге нужно группировать результат по user_id.
Ниже структура таблицы, для удобства
Спасибо
Построил запрос в контроллере, может кому пригодиться!
$connection = ConnectionManager::get('default');
$details = $connection
->newQuery()
->select(['Users.name', 'user_id', 'start' => 'work_period, MIN(datetime)', 'end' => 'MAX(datetime)', 'TIMEDIFF(MAX(datetime)', 'result' => 'MIN(datetime))'])
->from('(select user_id, datetime, @workperiod:=@workperiod+if(datetime>@prev+interval 15 minute,1,0) as work_period,@prev:=datetime from user_log, (select @prev:=NULL, @workperiod:=1) X order by datetime) A INNER JOIN users as Users ON Users.id = user_id')
->where(['datetime LIKE' => $date."%"])
->group(['work_period', 'user_id'])
->execute()
->fetchAll('assoc');
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Какие существуют виды рекламных бордов и как выбрать подходящий?
Как можно число n = 10 Сложить с буквами aa (это пример)? Чтобы в конце получился вывод aa10
Как избавиться от повторений в моем коде?Я так понимаю,необходимо сохранять результаты куда-то(в массив?),а потом сравнивать с новым рандомом,и,если...
С помощью чего можно преобразовать DICOM Image to JPG? Есть библиотеки помимо DCMTK?