Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Wählen Sie die 3 neuesten Datensätze aus, bei denen die Werte einer Spalte unterschiedlich sind

Es gibt nicht das zurück, was Sie erwarten, da die Gruppierung vor der Sortierung erfolgt, was sich in der Position der Klauseln in der SQL-Anweisung widerspiegelt. Sie müssen leider etwas ausgefallener werden, um die gewünschten Zeilen zu erhalten. Versuchen Sie Folgendes:

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