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