Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Selecione os 3 registros mais recentes onde os valores de uma coluna são distintos


Ele não retorna o que você espera porque o agrupamento acontece antes da ordenação, conforme refletido pela posição das cláusulas na instrução SQL. Infelizmente, você terá que ficar mais sofisticado para obter as linhas desejadas. Tente isto:
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