group by yaptıgın ıcın distinct demene gerek yok zaten group by ip deyınce ip bazında tekilleştirir. istediğin bilgiyi tek bir select le yapamazsın aşağıdaki gibi bir sorgu yazman lazım.
eğer sorun çıkarsa tablo yapılarını gonder ben sana çalışır sorgu hazırlayıp gonderırım.
select ip,timestampalani,hangisayfada from useronline t1
inner join (select ip,max(timestampalani) as yenitimestampalani from useronline group by ip ) t2
on t1.ip = t2.ip and t1.timestampalani = t2.yenitimestampalani