SQL : Selectionner une nombre de ligne prédéfini

Résolu
cs_grhum59 Messages postés 35 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 18 mai 2010 - 21 juin 2005 à 15:17
hmtbfr Messages postés 1 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 27 juin 2005 - 27 juin 2005 à 16:11
Bonjour;

Je réalise une application dans laquelle j'affiche le résultat d'une requête sql (nom), lorsque je clique sur ue ligne de ce résultat, je crée un fichier pdf affichant le détail de cette personne.

Je voudrai limiter la premiere requête en lisant la base de donnée par tranche de 10 lignes. Quelle est la requête a effectuer pour cela ? Ma requête actuelle est SELECT nom FROM clients ORDER BY nom

Merci
grhum

13 réponses

indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
21 juin 2005 à 16:33
Slut

il me semble qu'il faut faire :

*soit pour avoir les 10 premiers = => SELECT nom FROM clients ORDER BY nom LIMIT 10

*soit selectionner les 10 enregistrements apres le 20éme ==>SELECT nom FROM clients ORDER BY nom LIMIT 20, 10


Voilà

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
3
cs_grhum59 Messages postés 35 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 18 mai 2010
21 juin 2005 à 17:04
Merci beaucoup.
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
21 juin 2005 à 17:12
0
super_toinou Messages postés 764 Date d'inscription mardi 25 mai 2004 Statut Membre Dernière intervention 8 mars 2011 6
21 juin 2005 à 17:52
Yopla,

désolé de jouer un peu les troubles fêtes mais je vois un petit probleme dans ce qui est ecrit.

En effet ta requete est parfaitement juste si tu est connecté sous une base MySql, mais par exemple si tu est connecté sous Oracle, LIMIT n existe pas, il faut utiliser :"WHERE ROWNUM <= 10", meme pb si tu est sous SQL Server tu devra utiliser TOP.

Je pense que ta réponse doit marcher puisque ton driver JDBC doit etre mappé sur une base MySql et qu il envoi au server la string de ta requete donc tt marche bien. Il est juste important de savoir que le jour ou tu passera sur une autre BD ca va planter!!

En esperant pour toi que ce soit pas le cas,
Bonne soirée
++ Toinou
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
22 juin 2005 à 08:38
merci de cette précision

j'ai tellement l'habitude d'utiliser mysql que j'en oubli les autres :p

le monde a des idées : la preuve, c'est qu'il y en a de mauvaises
ne comprends pas tout, mais je parle de tout : c'est ce qui compte
0
cs_grhum59 Messages postés 35 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 18 mai 2010
22 juin 2005 à 09:43
Bonjour,

Ma base de donnée est sur AS/400,

J'ai testé les 2 solution que vous m'avez proposé, aucune n'a marché.

Voila les 2 requêtes que j'ai essayé :

SELECT nom FROM clients LIMIT 5

SELECT nom FROM clients WHERE ROWNUM <=5

A chaque fois, j'ai eu une SQLException
Quelle est la bonne synthaxe sous as/400 ?

Merci
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
22 juin 2005 à 10:50
0
cs_grhum59 Messages postés 35 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 18 mai 2010
22 juin 2005 à 10:55
Une base DB2
0
indiana_jules Messages postés 750 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 23 décembre 2008 22
22 juin 2005 à 14:07
0
cs_grhum59 Messages postés 35 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 18 mai 2010
22 juin 2005 à 14:42
ok c pas grave, merci quand même

Bonne journée
0
batitude Messages postés 3 Date d'inscription vendredi 24 juin 2005 Statut Membre Dernière intervention 24 juin 2005
24 juin 2005 à 13:27
salut

je n'ai pas de db2 sous la main, mais je sais que sous

informix la syntaxe est select first 10 ... a essayer ...


<strike>bati</strike>
0
cs_grhum59 Messages postés 35 Date d'inscription samedi 18 novembre 2000 Statut Membre Dernière intervention 18 mai 2010
24 juin 2005 à 15:25
j'ai essayé de faire SELECT first 5 nom FROM clients

ça n'a pas marché. Ai-je utilisé la bonne synthaxe ??
0
hmtbfr Messages postés 1 Date d'inscription vendredi 9 mai 2003 Statut Membre Dernière intervention 27 juin 2005
27 juin 2005 à 16:11
Merci !!
0
Rejoignez-nous