Requête avec un min() [ SQL ] - Programmation
Marsh Posté le 04-02-2002 à 14:19:33
Tu as essayer cela : 
 
"SELECT MIN(numero) as mini,nom,prenom FROM table"; 
Marsh Posté le 04-02-2002 à 15:20:27
SELECT numero,nom,prenom FROM table  
WHERE numero=(SELECT MIN(numero) FROM table)  
C'est bon ! 
 
Quand tu fais : 
SELECT MIN(numero),nom,prenom FROM table; 
Le SGBD ne sait pas quoi faire, il lui faut une règle d'agrégation pour les champs nom et prénom. 
Par exemple : 
SELECT MIN(numero),nom,prenom FROM table GROUP BY nom, prenom;  
Mais ce n'est pas ce que tu veux. 
 
Toi, tu veux : 
1- Le plus petit numéro présent dans la table 
2- Pour le numéro trouvé au dessus, le ou les nom(s) et prénom(s) associé(s). (Il peut y en avoir plusieurs) 
 
C'est donc bien 2 requêtes différentes, et ta solution est la bonne. 
Marsh Posté le 04-02-2002 à 15:32:09
ok, c'est bien ce que je pensais mais je voyais pas pourquoi il arrivait pas à me sortir ça mais c'est vrai que c'est bien 2 requêtes 
 
Marsh Posté le 04-02-2002 à 14:18:04
SELECT MIN(numero),nom,prenom FROM table;
 
Pourquoi cette requête est refusée ? Je sais que c'est à cause de min mais je me rappelle plus pourquoi c'est pas bien
J'ai donc fais ça :
SELECT numero,nom,prenom FROM table
WHERE numero=(SELECT MIN(numero) FROM table)
;
Est-ce correct pour les "purriste" ou fallait-il faire autrement ?