У меня есть таблица базы данных следующим образом:
id version_id field1 field2
1 1 texta text1
1 2 textb text2
2 1 textc text3
2 2 textd text4
2 3 texte text5
Если вы этого не сделали, он содержит несколько версий строки, а затем некоторые текстовые данные.
Я хочу запросить его и вернуть версию с наибольшим числом для каждого идентификатора. (так что вторая и последняя строки только в приведенном выше).
Я пробовал использовать группу по порядку по версии_ID DESC - но, похоже, он упорядочивается после ее сгруппировки, поэтому это не работает.
У кого-нибудь есть идеи? Я не могу поверить, что это невозможно!
UPDATE:
Придумайте это, что работает, но использует подзапрос:
SELECT *
FROM (SELECT * FROM table ORDER BY version_id DESC) t1
GROUP BY t1.id