MySQL - controla qual linha é retornada por um grupo por
Tenho uma tabela de banco de dados como esta:
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
Se você não deu certo, ele contém várias versões de uma linha e alguns dados de text
Eu quero consultá-lo e retornar a versão com o número mais alto para cada ID. (portanto, a segunda e a última linha apenas nas anteriores).
Tentei usar o grupo enquanto fazia o pedido por version_id DESC - mas ele parece ordenar após o agrupamento, portanto isso não funcion
Alguém tem alguma idéia? Não acredito que não pode ser feito!
ATUALIZAR
Comece com isso, que funciona, mas usa uma subconsulta:
SELECT *
FROM (SELECT * FROM table ORDER BY version_id DESC) t1
GROUP BY t1.id