[ SQL ] Requête avec un min()

Requête avec un min() [ SQL ] - Programmation

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 ?

Reply

Marsh Posté le 04-02-2002 à 14:18:04   

Reply

Marsh Posté le 04-02-2002 à 14:19:33    

Tu as essayer cela :
 
"SELECT MIN(numero) as mini,nom,prenom FROM table";

Reply

Marsh Posté le 04-02-2002 à 14:28:55    

ça ne marche pas non plus

Reply

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.


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

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 ;)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed