SQL : Selectionner une nombre de ligne prédéfini [Résolu]

Signaler
Messages postés
35
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
18 mai 2010
-
Messages postés
1
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
27 juin 2005
-
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

Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
19
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
Messages postés
35
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
18 mai 2010

Merci beaucoup.
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
19
Messages postés
764
Date d'inscription
mardi 25 mai 2004
Statut
Membre
Dernière intervention
8 mars 2011
7
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
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
19
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
Messages postés
35
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
18 mai 2010

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
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
19
Messages postés
35
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
18 mai 2010

Une base DB2
Messages postés
750
Date d'inscription
mardi 9 mars 2004
Statut
Membre
Dernière intervention
23 décembre 2008
19
Messages postés
35
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
18 mai 2010

ok c pas grave, merci quand même

Bonne journée
Messages postés
3
Date d'inscription
vendredi 24 juin 2005
Statut
Membre
Dernière intervention
24 juin 2005

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>
Messages postés
35
Date d'inscription
samedi 18 novembre 2000
Statut
Membre
Dernière intervention
18 mai 2010

j'ai essayé de faire SELECT first 5 nom FROM clients

ça n'a pas marché. Ai-je utilisé la bonne synthaxe ??
Messages postés
1
Date d'inscription
vendredi 9 mai 2003
Statut
Membre
Dernière intervention
27 juin 2005

Merci !!