Ik heb een tijdelijke tabel geïntroduceerd om de zaken wat leesbaarder te maken. Je zou die zoekopdracht zeker inline kunnen vervangen en de tijdelijke tabel kunnen verwijderen indien gewenst.
De eerste select somt de bezoeken per gebruiker en website op.
De tweede selectie vindt het maximale aantal bezoeken voor elke gebruiker in de subquery en gaat vervolgens terug naar de tijdelijke tabel om de website te vinden waarvan het aantal overeenkomt met die maximale waarde.
create temporary table TempSum
select user-ID, website-ID, count(*) as TotalCount
from YourTable
group by user-ID, website-ID
select ts.user-ID, ts.website-ID, ts.TotalCount
from (select user-ID, max(TotalCount) as MaxCount
from TempSum
group by user-ID) ms
inner join TempSum ts
on ts.user-ID = ms.user-ID
and ts.TotalCount = ms.MaxCount