MySQL - Controla qué fila es devuelta por un grupo por

Tengo una tabla de base de datos 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

Si no lo resolvió, contiene varias versiones de una fila y luego algunos datos de texto.

Quiero consultarlo y devolver la versión con el número más alto para cada ID. (por lo tanto, la segunda y la última fila solo en lo anterior).

Intenté usar group mientras ordenaba por version_id DESC, pero parece ordenar después de su agrupación, por lo que esto no funciona.

¿Alguien tiene alguna idea? ¡No puedo creer que no se pueda hacer!

ACTUALIZAR

Acceda con esto, que funciona, pero utiliza una subconsulta:

SELECT *
FROM (SELECT * FROM table ORDER BY version_id DESC) t1
GROUP BY t1.id

Respuestas a la pregunta(9)

Su respuesta a la pregunta