Ho introdotto una tabella temporanea solo per rendere le cose un po' più facili da leggere. Potresti certamente sostituire quella query in linea ed eliminare la tabella temporanea se lo desideri.
La prima selezione somma le visite per utente e sito web.
La seconda selezione trova le visite massime per ogni utente nella sottoquery e poi torna alla tabella temporanea per trovare il sito web il cui conteggio corrisponde a quel valore massimo.
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