Il problema e' che ho gia' riscontrato altre volte che il comportamento non e' sempre attendibile. Non saprei se dipende dalla versione o dal tipo di campo. Per esempio sul formato date pare funzionare meglio.
Da tempo ho rinunciato a questo tipo di query. Nel senso che DISTINCT e GROUP BY non sono fatti per scegliere un determinato record, ma per avere un gruppo di valori associato ad un campo. Per esempio quelle query citate nel manuale...
SELECT user,MAX(salary) FROM users
GROUP BY user HAVING MAX(salary) > 10
che equivale per te ad avere la data piu' alta associata alla categoria e basta. Mi ricordo anche di un lungo post con andr3a su questo argomento e concomitante a questo con altro utente che ora non ricordo.
Personalmente ho risolto quando mi serve l'ultimo record inserito ho risolto con una tabella temporanea, dove ordino in base alla necessita' e poi prendo il primo record che trova e che ora corrisponde a quello voluto...
funziona sempre.codice:CREATE TEMPORARY TABLE temp SELECT * FROM `news` WHERE categoria > 56 ORDER BY data DESC ; SELECT * FROM TEMP GROUP BY categoria ORDER BY categoria
![]()