OVH Cloud OVH Cloud

Mysql:Requette avec limitte du nombre des résultats.

2 réponses
Avatar
Pim
Bonjour,

Je ne suis pas très calé en Sql.

Je souhaite savoir comment il serait possible de lancer une requette en
limittant le nombre des résultats par exemple en disant :

-Je veut les 10 premières réponses seulement
-Mais en fixant un "pointeur" à l'endroit pour pourvoir se permettre
d'avoir les 10 suivantes et ainsi de suite...

En fait j'utilise Mysql via perl et ma requette est lancé par Perl mais
ceci à peu d'importance la requette est du SQL via le module DBI.

Le problème c'est que parfois, il y a beaucoup de réponse et mysql met
du temps à les sortir avant de commencer à afficher.


Merci de votre aide par Avance et bonne journée.

2 réponses

Avatar
MaXX
Bonjour,

Pim wrote:
-Je veut les 10 premières réponses seulement
-Mais en fixant un "pointeur" à l'endroit pour pourvoir se permettre
d'avoir les 10 suivantes et ainsi de suite...


En utilisant LIMIT (nb de lignes à retourner) et OFFSET (décalage).
Pour definir l'offset dans le script je fais $offset = $limit*$page; #page
pouvant etre nul

En fait j'utilise Mysql via perl et ma requette est lancé par Perl mais
ceci à peu d'importance la requette est du SQL via le module DBI.


Il va falloir modifier les scripts pour déterminer le nombre de pages et
prendre en compte les paramètre limit et offset passés en argument...CGI
fait ça très bien...

Le problème c'est que parfois, il y a beaucoup de réponse et mysql met
du temps à les sortir avant de commencer à afficher.


LIMIT dit à mysql de ne sortir que "limit" lignes en commençant à partir
d'offset le reste est ignoré...

Merci de votre aide par Avance et bonne journée.


2rien

--
MaXX
Avatar
Patrick Mevzek
Le Thu, 03 Mar 2005 11:16:06 +0100, Pim a écrit :

Je souhaite savoir comment il serait possible de lancer une requette en
limittant le nombre des résultats par exemple en disant :

-Je veut les 10 premières réponses seulement -Mais en fixant un
"pointeur" à l'endroit pour pourvoir se permettre
d'avoir les 10 suivantes et ainsi de suite...



Il vous faut un curseur. Je ne sais pas si MySQL support cela. Mais tout
bon SGBDR le devrait.

--
Patrick Mevzek . . . . . . Dot and Co (Paris, France)
<http://www.dotandco.net/> <http://www.dotandco.com/>
Dépêches sur le nommage <news://news.dotandco.net/dotandco.info.news>