Eu introduzi uma tabela temporária apenas para tornar as coisas um pouco mais fáceis de ler. Você certamente pode substituir essa consulta em linha e eliminar a tabela temporária, se desejar.
O primeiro select soma as visitas por usuário e site.
A segunda seleção encontra o máximo de visitas para cada usuário na subconsulta e, em seguida, junta-se novamente à tabela temporária para encontrar o webiste cuja contagem corresponde a esse valor máximo.
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