J'ai un tas de colonnes sql à récupérer. Ceci est mon instruction SQL:Devrait MAX dans le groupe en récupérant toutes les données de ligne
SELECT b.iposx_model_id,
a.mrModel, MAX(a.mrRevision) as mrRevision, a.mrApprovedBy, ...
FROM mydb1.tbl_model_revision a
INNER JOIN mydb2.model_from_revision_process b
ON b.mrModel = a.mrModel
WHERE a.mrType = 1
GROUP BY a.mrModel
ORDER BY b.iposx_model_id ASC
Sur une certaine colonne mrModel taht je récupérai, ce sont les données que j'interrogation pour:
Dans ma requête, il est dit que je devrait obtenir les données avec le Max mrRevision qui correspond à la troisième rangée.
Cependant, lors de l'exécution de l'instruction sql, j'ai obtenu le mrRevision max qui est 2, provenant de la troisième ligne. Mais les autres données de colonne que je reçois proviennent de la deuxième rangée, un exemple est mrApprovedBy qui est de 1035 au lieu de 10. Pourquoi cela se produit-il?
si elles sont dans la même table, alors il est pas p ossible. – Ravi
'Dans ma requête, il est indiqué que je devrais obtenir les données avec le Max mrRevision qui correspond à la troisième ligne.» - c'est légèrement incorrect. Votre requête renvoie le maximum de 'mrRevision' uniquement. Pour obtenir la ligne qui correspond au maximum 'mrRevision', vous devez le spécifier dans la clause' WHERE'. – user5226582
J'ai oublié de mentionner, l'image est juste une déclaration de sélection d'un mrModel spécifique. Maintenant, je cours le Max (mrRevision), je devrais obtenir toutes les données de la 3ème rangée dans l'image puisqu'elle a la mrRevision la plus élevée, droite? Ai-je tort? –