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.
il risultato di questa query è:codice:SELECT SERIAL,USER FROM ( SELECT *,COUNT(*) as Accessi FROM `AD` GROUP BY SERIAL,USER) AS ADn GROUP BY SERIAL HAVING MAX(Accessi)
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!!! =)

Rispondi quotando