Выберите 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.