SQL : requete pour afficher les 5 premiers en [Fermé]

Signaler
-
 Magic -
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 !
A voir également:

11 réponses


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 !

Kalamit,
Je ponce donc j'essuie
41
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

CCM 65492 internautes nous ont dit merci ce mois-ci

Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 527
Ah la vache, c'est le genre de fonctionnalité que j'aurais aimé avoir sous Microsoft SQL Server 7.
ça nous aurait épargné pas mal de problème.
SELECT top 10 nom_client
FROM client
"SELECT top 10 nom_client
FROM client "

Très bien ça marche ! (En modifiant le nom des champs et de la table bien sûr)
Encore merci !

tres bien
Messages postés
1
Date d'inscription
dimanche 1 décembre 2013
Statut
Membre
Dernière intervention
21 mai 2014

test
Messages postés
33478
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 776
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...

.  .
\_/
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 527
Ah ben ouais pas con. C'est tout simple.
il n'existe pas 2 paramettre pour top
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à @+
Utilisateur anonyme
Oups, je me suis planté, maintenant que tu le dis, ca me parait plus logique. :o)
C'est donc du MySQL !

Kalamit,
Je ponce donc j'essuie
tt cela sè pr les 5 premieres données,ensuite les 5 qui suivent. e pr les 5 dernieres, coma fèr
Messages postés
32840
Date d'inscription
mercredi 29 août 2001
Statut
Modérateur
Dernière intervention
21 octobre 2019
15 527
Ah ?

Moi sous SQL Server c'est:
SELECT TOP 5 clientID, clientName from CLIENTS

Par contre, rien pour choper les clients de X à Y.
Messages postés
33478
Date d'inscription
jeudi 14 octobre 2004
Statut
Modérateur
Dernière intervention
24 février 2011
1 776
Oops, c'est bien possible, ca fait longtemps que je n'ai pas fait de SQL :-(
Mais le FIRST il existe aussi non?

.  .
\_/
Pour info, il est possible de faire :

SELECT TOP 10 clientID, clientName
FROM Clients
WHERE clientID NOT IN (
SELECT TOP 5 clientID
FROM Clients
)

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"
comment afficher le premier client ajouter ??
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.
Hey ian, réveille toi !!!!!

On est a SQL 3.0 !!!!
:))))
Salut Toto,

Bah oui je suis au courant mais SQL 3 est une extension 'Objet' de SQL 2. Et tous les SGBD n'implemente pas SQL 3.

a+
salut
modeste solution :
$i=0;
$i+=5;
...
SELECT * FROM Client LIMIT '$i',5

et sur chaque page tu recupere $i
avec un +5
bonjour à tous
voila je voudrai limiter le nombre d'enregistrement dans une requete sql sur BDD access en utilisant une variable.
quand j'utilise la solution de teebo (SELECT TOP 10 clientID.....) ça marche bien, mais quand j'essaye de mettre une variable (SELECT TOP maVariable clientID....) elle ne fonctionne pas.
"(Select TOP " & maVariable & " clientID ....)" en vb.net
Bonjour,

Select Top (@maVariable) clientID, NomClient from...