Jetez un oeil à la table MySQL ci-dessous appelé « Articles »:trouver la ligne avec une valeur maximale de id dans MySQL
+----+-----------+---------+------------------------+--------------------------+
| id | articleId | version | title | content |
+----+-----------+---------+------------------------+--------------------------+
| 1 | 1 | 0.0 | ArticleNo.1 title v0.0 | ArticleNo.1 content v0.0 |
| 2 | 1 | 1.0 | ArticleNo.1 title v1.0 | ArticleNo.1 content v1.0 |
| 3 | 1 | 1.5 | ArticleNo.1 title v1.5 | ArticleNo.1 content v1.5 |
| 4 | 1 | 2.0 | ArticleNo.1 title v2.0 | ArticleNo.1 content v2.0 |
| 5 | 2 | 1.0 | ArticleNo.2 title v1.0 | ArticleNo.2 content v1.0 |
| 6 | 2 | 2.0 | ArticleNo.2 title v2.0 | ArticleNo.2 content v2.0 |
+----+-----------+---------+------------------------+--------------------------+
Im essayant de trouver une requête pour retourner Articles.id où Articles.version est le nombre maximum.
La table Articles réelle contient plus de 10 000 entrées.
Donc, dans cet exemple, je veux seulement que les articles .id 4 et 6 soient retournés. J'ai regardé le mot-clé distinct et la fonction max() mais ne peux pas sembler le clouer.
Toutes les suggestions ... appréciées
Ceci renvoie uniquement les dernières versions des articles, en supprimant les versions précédentes/antérieures. Belles requêtes les gars, merci beaucoup! –
Juste pour le compte rendu: T.J. Crowder a souligné dans sa réponse qu'une sous-requête n'est pas obligatoire: elle peut aussi être faite avec un LEFT JOIN. – soulmerge