Selecione os três registros mais recentes em que os valores de uma coluna são distintos

Tenho a seguinte tabela:

    id       time      text      otheridentifier
    -------------------------------------------
    1        6         apple     4
    2        7         orange    4
    3        8         banana    3
    4        9         pear      3
    5        10        grape     2

O que eu quero fazer é selecionar os 3 registros mais recentes (por tempo desc), cujosotheridentifiers são distintos. Portanto, neste caso, o resultado seriaid: 5, 4 e 2.

id = 3 seria ignorado porque há um registro mais recente com o mesmootheridentifier campo.

Aqui está o que eu tentei fazer:

SELECT * FROM `table` GROUP BY (`otheridentifier`) ORDER BY `time` DESC LIMIT 3

No entanto, acabo recebendo linhas deid = 5,3 e1 em vez de 5, 4, 2 conforme o esperad

Alguém pode me dizer por que essa consulta não retornaria o que eu esperava? Tentei alterar o ORDER BY para ASC, mas isso simplesmente reorganiza as linhas retornadas para 1, 3, 5.

questionAnswers(16)

yourAnswerToTheQuestion