Comment établir une requete SQL qui m'affiche les 5 premiers enregistrements d'une table 'CLIENTS' ou bien les enregistrements 6, 7, 8, 9 et 10 ?
exemple de table Client(id_clients, nom, prenom)
Merci de me répondre !
SELECT FIRST 5 FROM...
Ca c'est pour les 5 premier
Pour les autres j'avoue que je ne me souviens meme plus si il y a un moyen, il me semble que oui mais c'est a verifier...
ö,ö "S'il n'y a pas de solution, c'est
\_/ qu'il n'y a pas de problème"
Oui Seb, tu as completement raison, ca n'existe pas le FIRST...Mea culpa, mea maxima culpa!
Pour la peine je vais tenter ton autre requete:
SELECT TOP 10 clientID, clientName from clients WHERE clientID NOT IN (SELECT TOP 5 clientID, clientName from clients ORDER BY clientID)ORDER BY clientID
C'est pas tres propre mais si je me suis pas pris encore une fois les pieds dans le tapis ca devrait etre un bon point de depart...
Ah ouais? Avec Mysql, ca donnerait: SELECT * FROM Client LIMIT 0,5; pour afficher les 5 premiers. Et pour les suivants, SELECT * FROM Client LIMIT 5,10;
Parcontre, pas de TOP ni de FIRST...
Voili voilou !
Bah en fait, j'ai jamais trouvé une base qui fait du SQL strict, Oracle a également son PL/SQL tout zarb... Je ne parle meme pas d'ACCCESS et je pense que pour SqlServer, c'est le meme bin's.
Salut,
En fait le problème est que l'on sort du cadre du standard SQL 2.
Toutes ses fonctions de restrictions sur le nombre de lignes retournées dépend directement du SGBD... il y a donc autant de facons de faire qu'il y a de SGBD.
Donne plus d'infos sur le SGBD cible et tu pourra voir ce qu'il est possible de faire.
Merci à tous pour vos réponses, plus particulière à Kalamit qui a résolu mon problème. Cependeant une petite rectification.
Pour afficher les 5 premiers enregistrements :
SELECT * FROM Client LIMIT 0,5
puis les 5 suivant :
SELECT * FROM Client LIMIT 5,5
le second chiffre indiquant la quantité d'enregistrements à afficher
Voilà @+