il criterio usato da group by (e da distinct) e' quello di prendere il primo record incontrato nella tabella che soddisfa la richiesta espressa e scartare tutti gli altri simili. Group by puo' essere ulteriormente selettivo usando HAVING, ma having lavora solo sui record estratti che hanno soddisfatto la condizione del GROUP BY.
In altre parole GROUP BY serve per fare raggruppamenti e non per estrarre un determinato record a scelta. Se quello che ti serve e' sempre l'ultimo record (max valore) potresti ricorrere al trucchetto, buono per tutte le versioni di mysql, di fare una tabella temporeanea ordinata in modo discendente. Per esempio:
codice:CREATE TEMPORARY TABLE temp SELECT * FROM table ORDER BY valore DESC; altra query a seguire: SELECT * FROM temp GROUP BY label ORDER BY ....![]()

Rispondi quotando