Group by

Signaler
Messages postés
379
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
8 octobre 2008
-
Messages postés
259
Date d'inscription
mercredi 3 mai 2006
Statut
Modérateur
Dernière intervention
11 janvier 2010
-
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

Messages postés
259
Date d'inscription
mercredi 3 mai 2006
Statut
Modérateur
Dernière intervention
11 janvier 2010
7
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