id userid date
create table tmp(id int not null auto_increment primary key,userid,date);
insert itno tmp(userid,date) select userid,date from tb order by userid,id;
create table tmp2(a int,b.userid,c date)
insert into tmp2,select A.id,A.userid,timestampdiff(HOUR,A.date,B.date) from tmp A,tmp B where A.userid=B.userid and A.id=B.id-1
select userid,date from tmp2 A
where not exists(select 1 from temp2 where A.userid=userid and A.id>id)