@Holidaysoft.it purtroppo le tue query sono sbagliate. Se hai una GROUP BY, nella query puoi selezionare solo:
* i campi che sono presenti nella GROUP BY
* altri campi, ma solo se passati ad una funzione aggregante (come MAX)
Diversamente, MySQL preleva gli altri campi da una riga scelta a caso. E' per questo che consiglio di usare sempre l'sql_mode ONLY_FULL_GROUP_BY.

Ulteriori dettagli qui:
http://dev.mysql.com/doc/refman/5.5/...xtensions.html

Credo comunque che non ci siano query più ottimali di quella che ho consigliato sopra...