Ciao a tutti.

Sono almeno due ore che impazzisco su una query e non riesco a venirne a capo, mi appello a voi

io ho una tabella(prototipo) di questo genere:

SERIAL USER
serial1 paperino
serial1 pippo
serial1 pippo
serial1 pluto
serial2 mario
serial2 mario
serial2 rossi
serial2 rossi
serial2 rossi

L'obiettivo è di sputare fuori quale user ha effettuato il maggior numero di accessi abbinato ad un serial.
Il massimo sarebbe anche avere un "Errore" nel caso in cui due o più user siano a pari merito.

Io ho fatto questa query che nella mia testa funziona e anche cercando su internet le varie guide mysql sembra essere corretta ma mi da un output non conforme.

codice:
SELECT SERIAL,USER FROM ( 	SELECT *,COUNT(*) as Accessi 	FROM `AD`  	GROUP BY SERIAL,USER) AS ADn GROUP BY SERIAL HAVING MAX(Accessi)
il risultato di questa query è:

SERIAL USER
serial1 paperino
serial2 mario

mentre, data la condizione HAVING MAX(Accessi) io mi aspetterei:

SERIAL USER
serial1 pippo
serial2 rossi

dove sto sbagliando??

grazie mille a tutti, so che mi risolverete l'enigma in men che non si dica!!! =)