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

Seleccione los 3 registros más recientes donde los valores de una columna son distintos

No devuelve lo que espera porque la agrupación ocurre antes de realizar el pedido, como se refleja en la posición de las cláusulas en la instrucción SQL. Desafortunadamente, tendrá que volverse más elegante para obtener las filas que desea. Prueba esto:

SELECT *
FROM `table`
WHERE `id` = (
    SELECT `id`
    FROM `table` as `alt`
    WHERE `alt`.`otheridentifier` = `table`.`otheridentifier`
    ORDER BY `time` DESC
    LIMIT 1
)
ORDER BY `time` DESC
LIMIT 3