Nevrací to, co očekáváte, protože k seskupení dojde před objednáním, jak se odráží v pozici klauzulí v příkazu SQL. Naneštěstí se budete muset zlepšit, abyste získali řádky, které chcete. Zkuste toto:
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