Possible en double:
Retrieving the last record in each groupSQL: Recherche de l'enregistrement max par groupe
J'ai une table, qui a trois champs et des données.
Name , Top , Total cat , 1 , 10 dog , 2 , 7 cat , 3 , 20 horse , 4 , 4 cat , 5 , 10 dog , 6 , 9
Je veux sélectionner l'enregistrement qui a la plus haute valeur de Total
pour chaque Name
, donc mon résultat devrait ressembler à ceci:
Name , Top , Total cat , 3 , 20 horse , 4 , 4 Dog , 6 , 9
J'ai essayé groupe par ordre de nom par le total, mais il donne premier record du groupe par résultat. Quelqu'un peut-il me guider, s'il vous plaît?
I Je me demande combien de doublons il y a pour cette requête - certainement beaucoup m plus qu'un seul. Voir les 60+ questions marquées «plus grand-n-par-groupe» (pour les cas n = 1). –
@Jonathan: Ceci est la "question éternelle" dans le domaine des questions SQL débutant. Il y en a un tous les jours sur SO. – Tomalak