Помогите написать и выполнить этот запрос в поисковике cakephp 3.5.10
После этого мне нужно сгруппировать результат по user_id.
Ниже представлена структура таблицы, для удобства администратора.
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
Подробности:







$conn = ConnectionManager::get('default');
$sql = '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';
$stmt = $conn->execute($sql);
$user = $stmt->fetchAll('assoc');
Как я могу добавить условия?
вы можете напрямую скопировать и вставить sql-запрос в строку $ sql и попробовать.
Это полностью обходит построитель запросов, что является плохой идеей.
Stackoverflow - это не служба написания запросов, вам нужно продемонстрировать некоторые усилия, то, что вы сделали, и свой код ... Начните читать здесь book.cakephp.org/3.0/en/orm/query-builder.html