limit et offset

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : limit et offset

par cerber » 16 mai 2005, 10:48

bah sur le coup du limit 1 y'a peut être d'autres moyens de le faire ;)

Mais quand il s'agit d'afficher petit a petit un grand nombre d'enregistrements, ca permet d'éviter de ramener tes 1000 lignes pour n'en afficher que 30 à la fois

par donny » 12 mai 2005, 11:19

c est puissant alors ce truc

par albat » 12 mai 2005, 11:13

En toute logique, c'est ça.
Il te suffit de tester pour le vérifier.

Il faut toujours tester ! ;)

par donny » 12 mai 2005, 08:15

Quand je fais cette requete cela veux dire :
SELECT * FROM livre LIMIT 1  OFFSET  $id; 
si $id=0, je prends le 1er enregistrement
si $id=1,je prends les enregistrement de 1 à 2 donc le 2eme enregistrement
si $id=2, je prends le 3eme enregistrement et ainsi de suite.....


??

par albat » 11 mai 2005, 15:24

T'as tout pigé ! ;)

par donny » 11 mai 2005, 14:23

donc limit 5 offset 10: je peux les enregistrement de 10 à 15
limit 100 offset 0 :je prends les 100 premier enregistrement
c est cela

par cerber » 11 mai 2005, 09:59

Quand une requête retourne un grand nombre d'enregistrement et qu'on ne peux tous les traiter à la fois, on utilise limit et offset.
Par exemple, dans une appli qui affiche à l'écran la totalité des données d'une table, seules les données à l'écran sont exploitables, ca ne sert à rien de récupérer 10 000 lignes si tu peux en afficher que 20 non ?
Limit permet de limiter le nombre d'enregistremùent retournés, LIMIT 20 dans mon exemple.
Offset permet de se déplacer dans tes enregistrements :
LIMIT 20 OFFSET 0 => tu prend les 20 premiers enregistrements
LIMIT 20 OFFSET 20 => tu prend les enregistrement 20 à 40
LIMIT 20 OFFSET 103 => tu prend les enregistrements 103 à 123
...
...

tu as compris ?

en mysql le mot clé OFFSET n'existe pas, on se contente de faire précéder la limitation de l'offset suivit d'une ','
LIMIT [offset,] lignes
expl LIMIT 103,20

limit et offset

par donny » 11 mai 2005, 08:50

salut,

Je suis allez à cette adresse
http://traduc.postgresqlfr.org/pgsql-fr ... limit.html
et j ai pas trop compris le principe du limit et offset ?

merci