Page 1 sur 1

Valeur la plus élevée dans une table

Posté : 09 mars 2005, 14:56
par casalboss01
Salut à tous,

j'ai une base qui contient des personnes ayant suivi un cours.

ID PERSONNE COURS
1 Martin 1
2 Martin 2
3 Dupont 6
4 Dupont 17
5 Dupont 8
6 Alain 2
7 Alain 4
8 Alain 12
9 Alain 9

Il me faut une requête qui me donne la personne avec l'ID de cours le plus bas. Donc le résultat devra être:

ID PERSONNE COURS
1 Martin 1
3 Dupont 6
6 Alain 2

J'essaye avec

SELECT ID, PERSONNE, MAX(COURS) FROM TABLE

mais cela ne marche pas.

Qqn a une solution ?

Merci d'avance.
Casalboss01

Posté : 09 mars 2005, 15:58
par Elie
SELECT id, personne, MAX(cours) FROM table ORDER BY id ASC LIMIT 0,1

Ca va pas ca ? :)

Posté : 09 mars 2005, 16:43
par flitox
LIMIT 0,1 ne fait pas double emploi avec MAX()?

Posté : 09 mars 2005, 16:45
par Elie
Surement :)

Enleve MAX() alors :)

Posté : 09 mars 2005, 17:18
par Hubert Roksor
Je pense qu'il veut le plus bas (MIN() donc) numéro par personne, donc il nous faut grouper les résultats par personne.

Code : Tout sélectionner

SELECT ID, PERSONNE, MIN(COURS) AS MIN_COURS FROM TABLE GROUP BY PERSONNE
Au fait, tu devrais essayer de nommer tes champs en minuscules ou éventuellement en MixedCase/camelCase car les requêtes tout en majuscules sont plus difficiles à lire, par ex:

Code : Tout sélectionner

SELECT id, personne, MIN(cours) AS min_cours FROM table GROUP BY personne
...et là on voit immédiatement la structure de la requête et les fonctions utilisées.