Group by

gabs77 Messages postés 379 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 8 octobre 2008 - 23 sept. 2006 à 11:48
cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 - 23 sept. 2006 à 15:19
slt, j'ai une base de donnée avec une table donner qui porte 2 clé primaires et une propriété :

DONNER
numcas
codesection
année

je veu effectuer une requete perettant d avoir la liste des derniers date enregistré par numcas en informant a quel section apprtient cette derniere

donc supposons une base
numcas      codesection     année
1                ig1                  1998
2                ig1                  2005
2                cg2                 2006
116            cg2                 2005

je veux une requete qui m affiche seulement

numcas      codesection     année
1                ig1                  1998
2                cg2                 2006
116            cg2                 2005

pour cela j'ai pensé a un group by
avec la requete suivante
select numcas,max(année) from DONNER
group by numcas

mais je n ai pas la section qui s affiche et si met ceci
select numcas,codesection,max(année) from DONNER
group by numcas
cela me met erreur !!
pouvez vous m aider s'il vous plait

1 réponse

cs_skweeky Messages postés 259 Date d'inscription mercredi 3 mai 2006 Statut Membre Dernière intervention 11 janvier 2010 8
23 sept. 2006 à 15:19
Pour le GROUP By 2 solutions possibles :


SELECT numcas, codesection, max(année) FROM Donner
GROUP BY numcas, codesection


ou


SELECT numcas, max(codesection), max(année) FROM Donner
GROUP BY numcas

Suivant ce que l'on veut en faire...
Soit le champ doit être dans une fonction d'agrégat dans le SELECT, soit il doit être présent dans le GROUP BY

Christian Robert - Winwise
http://blogs.developpeur.org/christian/
MCT - Database Development / Database Administration
0
Rejoignez-nous