Mi stò incasinando l'esistenza con questa query, pensavo fosse semplice ma c'è un problema che non riesco a risolvere...
Diciamo che ho una tabella che contiene 3 colonne per semplificare:
(casa, nome ,età)
In ogni casa ci possono essere più persone con età diversa, quindi visivamente la tabella sarebbe qualcosa del genere
----
1,marco ,60
1,sara ,57
1,elisa ,20
2,maria ,23
2,roberto ,22
Voglio sapere chi è l'abitante più grande di ogni casa e la sua età..
Io pensavo bastasse un
SELECT casa,nome,max(età), FROM tabella GROUP BY casa
La query funziona, mi ridà la massima età di ogni casa, ma il nome della persona è sbagliato!
Ho provato anche con HAVING età=max(età), ma non funziona perchè il maxetà si deve basare sul gruppo!
Suggerimenti?
"L'intelligenza è una pianta che va curata continuamente.
Dovreste vedere com'è bello, il mio bonsai."
Rat-man®
[Gradient Text]
[Su che server sei?]
->flickr
SELECT casa,nome,max(età) AS m_eta FROM tabella GROUP BY casa ORDER BY m_eta DESC
così forse ti dovrebbe mettere nei primi posti le persone con età maggiori, se funge puoi mettere un limit per prendere solo quelli che ti interessano (quindi se le case sono 5 sarà LIMIT 5)
Prova è la prima cosa che mi è venuta in mente senza provare.
No, in questo modo mi metterebbe in ordine il risultato e non la "struttura interna" della group by.
"L'intelligenza è una pianta che va curata continuamente.
Dovreste vedere com'è bello, il mio bonsai."
Rat-man®
[Gradient Text]
[Su che server sei?]
->flickr
Bo, a me il nome risulta essere quello del più giovane e non del più vecchio...
HAAAAAAAAA stò impazzendo!
"L'intelligenza è una pianta che va curata continuamente.
Dovreste vedere com'è bello, il mio bonsai."
Rat-man®
[Gradient Text]
[Su che server sei?]
->flickr
Hai copiato e incollato la query che ti ho postato?
Io l'ho copiata direttamente dal phpmyadmin, appena fatta la prova dove il risultato era quello da te richiesto...