IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

Clause limit avec mysql


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Par défaut Clause limit avec mysql
    Bonjour a tous,
    j'aimerais comprendre ce matin ce qui se passe avec ma requete mysql.
    j'ai fait une première requête pour sélectionner les 350 premiers enregistrements d'une table mysql et jusque la ca va bien. ca donne les id a partir de 17 a 669 pour un total de 350 enregistrements.

    Mais lorsque je veux en faire une deuxième requête a partir du dernier enregistrement de la requête précédente soit le id 669 et bien la requete me donne les donnees a partir du id 1270.

    Pourquoi ?
    pour arriver a faire ma requete a partir du id 670, je dois écrire limit 350,350. ca donne le resultat des 350 prochains enregistrements a partir du id 670.
    incompréhensible.
    j'expose ici la requete problematique , celle qui ne donne pas le bon id de départ



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
    $SelectPseudoTchat = "SELECT id, pseudo, courriel, categoriemembre
    						FROM membres
    						WHERE (categoriemembre = 'Trans' OR categoriemembre = 'Amateur' OR categoriemembre = 'Pro') AND actif = 1 AND (liste =1 OR liste =2)
    				ORDER BY id ASC LIMIT 669,350";?>
    Si quelqu'un pourrait m'expliquer ce qui arrive, je pourrais aller me reposer.
    cette requete démarre la recherche a partir id 1270

    merci

  2. #2
    Membre éclairé Avatar de monlou
    Homme Profil pro
    Inscrit en
    Janvier 2010
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 72
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2010
    Messages : 363
    Par défaut
    bon voila !
    je crois que j'ai compris ce qui arrive finalement !
    LIMIT 350, 350
    le premier argument ne sélectionne pas le no du id a démarrer la requete mais plutot a partir du 350e résultat de la requete.
    Désolé mais si ca peut servir a d'autres

  3. #3
    Membre prolifique Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 883
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Agent secret au service du président Ulysses S. Grant !
    Secteur : Finance

    Informations forums :
    Inscription : Février 2011
    Messages : 6 883
    Par défaut
    Salut monlou.

    Citation Envoyé par monlou
    pour arriver a faire ma requête a partir du id 670, je dois écrire limit 350,350. ça donne le résultat des 350 prochains enregistrements a partir du id 670.
    incompréhensible.
    Ce n'est pas incompréhensible ! 350, c'est le nombre de lignes.

    Si vous désirez obtenir 350 lignes, après un identifiant en particulier, vous devez écrire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    select *
    from votre_table
    where id >= 670
    limit 350;
    A lire : https://dev.mysql.com/doc/refman/5.5/en/select.html

    Si dans le limit, vous mettez deux paramètres, le premier concerne le déplacement en nombre de ligne et le second à l'affichage, aussi en nombre de lignes.
    Si vous mettez un seul paramètre, il concerne l'affichage en nombre de lignes.

    Ainsi "limit 350,350" signifie que vous lisez 350 lignes sans les affiches puis vous afficher les 350 lignes suivantes.

    @+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Equivalence avec la clause limit
    Par arezkikiki1 dans le forum SQL
    Réponses: 7
    Dernier message: 31/05/2016, 11h59
  2. SQL Developper limité en création avec Mysql
    Par GeoffZKS dans le forum Administration
    Réponses: 3
    Dernier message: 27/02/2013, 14h13
  3. Clause LIMIT avec une condition
    Par Fractaliste dans le forum Requêtes
    Réponses: 15
    Dernier message: 06/10/2012, 12h46
  4. UPDATE avec un LIMIT sous MySQL ?
    Par Lenezir dans le forum Langage SQL
    Réponses: 1
    Dernier message: 29/01/2008, 14h00
  5. Simulation de la fonction LIMIT de MySQL avec SQL Server
    Par Le Pharaon dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 15/11/2005, 10h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo