Mysql
 sql >> Database >  >> RDS >> Mysql

MySQL - Raggruppa per con Order by DESC

poiché la tabella ha solo quei 3 campi e stai filtrando per uid puoi semplicemente usare MAX senza JOIN:

SELECT version, MAX(datetime) Maxdatetime
FROM table
WHERE uuid='bla'
GROUP BY version

Tuttavia, se la tabella aveva più campi o non stai filtrando per uid - devi prima ottenere il MAX datetime per ogni versione, quindi seleziona la riga:

SELECT t.uuid, t.version, t.datetime 
FROM table t JOIN (
    SELECT version, MAX(datetime) Maxdatetime
    FROM table
    WHERE uuid='bla'
    GROUP BY version
) r ON t.version = r.version AND t.datetime = r.Maxdatetime
WHERE t.uuid='bla'
ORDER BY t.datetime desc