Выберите 3 самые последние записи, в которых значения одного столбца различны

У меня есть следующая таблица:

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

Что я хочу сделать, это выбрать 3 самые последние записи (по времени desc), чьиotheridentifierс отличны. Так что в этом случае результат будетidх: 5, 4 и 2.

id = 3 будет пропущено, потому что есть более свежая запись с тем жеotheridentifier поле.

Вот что я пытался сделать:

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

Тем не менее, я получаю рядыid = 5,3, а также1 вместо 5, 4, 2, как ожидалось.

Может кто-нибудь сказать мне, почему этот запрос не вернул то, что я ожидал? Я попытался изменить ORDER BY на ASC, но это просто переставило возвращаемые строки в 1, 3, 5.

Ответы на вопрос(8)

Ваш ответ на вопрос