J'ai une table de base de données comme celle-ci :
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 vous ne l'avez pas compris, il contient un certain nombre de versions d'une ligne, puis des données textuelles.
Je veux l'interroger et retourner la version avec le numéro le plus élevé pour chaque id. (donc les deuxième et dernière lignes seulement dans l'exemple ci-dessus).
J'ai essayé d'utiliser group by tout en ordonnant par version_id DESC - mais il semble que l'ordre soit donné après le regroupement, donc cela ne fonctionne pas.
Quelqu'un a une idée ? Je n'arrive pas à croire que c'est impossible !
UPDATE :
J'ai trouvé ça, qui fonctionne, mais qui utilise une sous-requête :
SELECT *
FROM (SELECT * FROM table ORDER BY version_id DESC) t1
GROUP BY t1.id