sql >> Base de Datos >  >> RDS >> Mysql

MySQL - Agrupar por con Ordenar por DESC

dado que la tabla solo tiene esos 3 campos, y está filtrando por uid, puede usar MAX sin JOIN:

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

Sin embargo, si la tabla tiene más campos o no está filtrando por uid - primero debe obtener la fecha y hora MAX para cada versión, luego seleccione la fila:

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