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

Langage SQL Discussion :

Selectionner les résultats d'une requête sql


Sujet :

Langage SQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut Selectionner les résultats d'une requête sql
    Bonjour à tous,

    J'ai une requête sql qui me renvoie les résultats :

    numcontrole numgarage
    1 1
    2 1
    3 1
    4 1
    5 1
    6 1

    2 2
    4 2
    6 2
    3 3
    2 4
    1 4

    etc ... il y a en tout 200 garages et je souhaiterais prendre seulement comme résultat les résultats des 13 premiers garage (car je fais une recherche sur plusieurs pages ) mais je ne sais pas à l'avance combien il y a de ligne pour chaque garage.

    Est-il possible de faire une telle chose ?

    N'hesiter pas à m'écrire pour avoir des renseignements supplémentaire ou plus d'explication.

    Seb

  2. #2
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 103
    Points : 28 395
    Points
    28 395
    Par défaut
    Les premiers... par rapport à quel critère ?

    En précisant le SGBD que vous utilisez et sa version, les réponses proposées seront adaptées aux spécificités et limitations de celui-ci.

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut
    Merci pour ton message al1_24.

    J'utilise php/mysql, php/myadmin.

    Je voudrais les résultats des 13 premiers garage par rapport ce que me renvoie ma requête sql
    (et ensuite de 13 à 26, de 26 à 39 etc.)

    En esperant avoir répondu à ta question.

  4. #4
    Membre actif
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    310
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 310
    Points : 252
    Points
    252
    Par défaut
    Oui les 13 premiers par rapport à quel critère???? Un peu confus...

    Je sais pas mais si c'est par rapport au numéro du garage c'est num_garage<13 et apres num_garage between 13 and 26 et ainsi de suite.

  5. #5
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    Citation Envoyé par Seb981 Voir le message
    par rapport ce que me renvoie ma requête sql
    En SQL, le seul moyen d'ordonner un résultat est la clause 'ORDER BY', sans celle ci, tu n'as aucun moyen de connaitre l'ordre de tes résultats. Tu peux avoir garage 3,6,2,8, etc ...

  6. #6
    Membre éclairé Avatar de cadoudal56
    Profil pro
    Inscrit en
    Février 2005
    Messages
    694
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France

    Informations professionnelles :
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 694
    Points : 779
    Points
    779
    Par défaut
    Hello,

    Utilise l'attribut LIMIT

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    1ere requete LIMIT 0. 13
    2eme requete LIMIT 13, 26
    3eme requete LIMIT 26, 39
    L'attribut LIMIT se place a la fin de la requete

    En plus clair
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT numcontrole, numgarage FROM tbl_garage LIMIT 0, 13;
    @+
    cadou

  7. #7
    Modérateur
    Avatar de al1_24
    Homme Profil pro
    Retraité
    Inscrit en
    Mai 2002
    Messages
    9 103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France, Val de Marne (Île de France)

    Informations professionnelles :
    Activité : Retraité
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 9 103
    Points : 28 395
    Points
    28 395
    Par défaut
    Pour rappel, la clause LIMIT n'appartient pas au langage SQL normalisé.

  8. #8
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    Pour autre rappel, sans clause order by, rien n'indique que le fenêtrage se fera de la même façon d'une fois sur l'autre (le Xième peut se retrouver dans plusieurs résultats ... ou pas du tout ...)

  9. #9
    Membre régulier
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 139
    Points : 76
    Points
    76
    Par défaut
    Merci à vous tous pour votre aide.

    Pour la remarque :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Oui les 13 premiers par rapport à quel critère???? Un peu confus...
    Mon critére et en effet un ORDER BY numgarage,numcontrole


    Pour la solution 1 :

    SELECT numcontrole, numgarage FROM tbl_garage LIMIT 0, 13;
    Cela renvoie les 13 premières lignes et non pas tous les résultats des
    13 premiers garage.

    Pour la solution 2 :

    num_garage<13 et apres num_garage between 13 and 26
    Cela me renverra les garages qui auront les numéros identifiant inférieur à 13
    et pour le between ceux qui auront entre 13 et 26.

    Je vais essayer de trouver une autre solution pour exploiter mes résultats.

    Merci à tous pour votre aide,

    @+ seb

  10. #10
    Membre éclairé Avatar de Spoutnik
    Homme Profil pro
    Inscrit en
    Octobre 2003
    Messages
    672
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 672
    Points : 781
    Points
    781
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    SELECT numcontrole, numgarage 
    FROM tbl_garage g1
    WHERE EXISTS (
      SELECT *
      FROM tbl_garage g2 
      WHERE g2.numgarage = g1.numgarage  
      ORDER BY g2.numgarage
      LIMIT 0, 13)
    ORDER BY numgarage,numcontrole

Discussions similaires

  1. Classer les résultats d'une requête SQL
    Par xess91 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 22/05/2010, 10h20
  2. Réponses: 2
    Dernier message: 30/07/2009, 14h26
  3. Comment formater les résultats d'une requête sql
    Par hjulius dans le forum PL/SQL
    Réponses: 1
    Dernier message: 28/07/2009, 17h23
  4. Exploiter les résultats d'une requête SQL
    Par grinder59 dans le forum C#
    Réponses: 2
    Dernier message: 29/01/2009, 11h36
  5. Réponses: 5
    Dernier message: 20/03/2007, 17h55

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