Получить последнюю версию группы контента SQL

У меня есть таблица содержимого, в которой много содержимого и различных версий этого содержимого. Столбцы content varchar,document_id int (идентифицируют содержимое между многими версиями) и версия int

Я хочу вернуть последнюю версию каждой группы контента. Я пытался использовать этот SQL, но он возвращает мне только первую версию, но я хочу последнюю. Порядок не работает с группой.

SELECT * FROM content where id_project = 8 group by document_id order by version desc;

Как я могу получить последнюю версию всего уникального контента (уникальный контент идентифицируется по document_id)?

Спасибо, если кто-нибудь может мне помочь


person dextervip    schedule 13.05.2011    source источник
comment
вам нужен последний контент или номер последней версии?   -  person Imre L    schedule 14.05.2011
comment
@ lmre-l Мне нужна самая последняя версия контента, но ваш sql работает нормально! спасибо!   -  person dextervip    schedule 14.05.2011


Ответы (2)


Я считаю, что вы хотите что-то вроде

SELECT *
FROM content A
WHERE version = (
    SELECT MAX(version)
    FROM content B
    WHERE B.document_id = A.document_id
)
AND document_id = 8

Предполагая, что каждый набор версий "сгруппирован" по document_id.

person bhamby    schedule 13.05.2011

person    schedule
comment
он сообщает мне, какая самая последняя версия, но не приносит мне строку, которая имеет самую последнюю. - person dextervip; 14.05.2011