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

questionAnswers(9)

yourAnswerToTheQuestion