Requete sql avec limit

Fermé
senio - Modifié par senio le 23/07/2011 à 01:19
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 28 juil. 2011 à 09:39
Bonjour,

Je voudrais écrire une requête pour sortir la liste des 5 étudiants les moins âgés

voici ma requête:
select nom, prenom,age
from etudiant
order by age asc limit 5

j'ai cette erreur:
ORA-00933: la commande SQL ne se termine pas correctement

Merci de m'aider



4 réponses

Syzygy Messages postés 378 Date d'inscription vendredi 29 avril 2011 Statut Membre Dernière intervention 31 décembre 2011 143
23 juil. 2011 à 11:45
Bonjour,

Peut-être un début de solution,

Essayez :

select TOP 5 nom, prenom,age
from etudiant
order by age '(il me semble qu'il n'est pas nécessaire de préciser l'ordre de tri, l'ordre par défault étant l'ordre croissant)

Bonne journée
0
maka54 Messages postés 698 Date d'inscription mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
23 juil. 2011 à 11:53
select nom, prenom,age
from etudiant
order by age asc
 limit 0,5 
0
Merci, j'ai trouvé la solution
select nom, prenom,age
from etudiant where rownum<=5
order by age asc;

Merci de m'avoir repondu
0
Reivax962 Messages postés 3672 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
28 juil. 2011 à 09:39
Bienvenue dans les joies des syntaxes SQL différentes d'un SGBD à l'autre :)

LIMIT, c'est du MySQL
TOP, c'est du SQL Server
En DB2, ce serait "fetch first 5 rows only" (c'est très explicite, DB2)
Et sous Oracle, c'est avec RowNum...

Vive la normalisation !

Xavier
0