faire un GROUP BY avec la fonction MAX()
Bonjour,
Je cherche désespérément la syntaxe d'une requête qui ne doit pas etre si difficile que cela mais qui me cause beaucoup de soucis.
Voici la table :
numero_contrat
date
type
famille
avenant
...
Voici le contenu possible :
numero de contrat date type famille avenant
00000501 01/01/2008 N 54 1
00000502 01/12/2008 Y 11 3
00000502 02/12/2008 Y 12 5
00000504 11/01/2008 N 14 8
Ce que je cherche à avoir apres ma requete est ceci :
numero de contrat date type famille avenant
00000501 01/01/2008 N 54 1
00000502 02/12/2008 Y 12 5
00000504 11/01/2008 N 14 8
Je cherche donc à avoir le numero d'avenant le plus haut pour chaque numero de contrat.
J'ai donc essayé la requete suivante avec succes :
Code:
1 2 3 4
|
SELECT numero de contrat, MAX(avenant)
FROM matable
GROUP BY numero de contrat |
J'obtiens :
numero de contrat avenant
00000501 1
00000502 5
00000504 8
le soucis c'est que je voudrais tout le contenu de l'enregistrement et pas seulement les deux champs.
J'ai donc essayé ceci :
Code:
1 2 3 4
|
SELECT numero de contrat, date, type, famille, MAX(avenant)
FROM matable
GROUP BY numero de contrat, date, type, famille |
mais à ce moment la, il me retourne tous les enregistrement ou presque, donc voila mon soucis, comment faire pour avoir tous les champs des enregsitrements ???
Merci :bug: