select MIN(date) as ddate, sud_id, profile_id, GRP
FROM
(
select date, sud_id, profile_id,
@grp:=@grp+if(date>@prev+interval 2 hour,1,0) as GRP,
@prev:=date
from `sitting`, (select @prev:=NULL, @grp:=1) X
WHERE (date BETWEEN '2021-02-01 00:00:00' AND '2021-02-28 00:00:00')
order by date
) A
GROUP BY GRP, profile_id, sud_id
ORDER BY ddate ASC;
То есть оба подходят под определение представитель уходит из суда, и потом приходитда, верно
а других вариантов нет? чтобы большой список сортировать