У меня есть простая таблица комментариев (id INT, revision INT, comment VARCHAR(140))
с некоторым контентом вроде этого:
1|1|hallo1|
1|2|hallo2|
1|3|hallo3|
2|1|hallo1|
2|2|hallo2|
Я ищу инструкцию SQL, которая будет возвращать каждый комментарий с самой высокой версией:
1|3|hallo3|
2|2|hallo2|
Я придумал это решение:
select id, revision, comment
from comments
where revision = (
select max(revision)
from comments as f
where f.id = comments.id
);
но на больших наборах данных он очень медленный. Есть ли какие-нибудь более интересные запросы для этого?