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 :

Classer les résultats d'une requête SQL


Sujet :

Langage SQL

  1. #1
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut Classer les résultats d'une requête SQL
    Bonjour à tous,

    Je viens vous demander votre avis sur la manière de construire une requête SQL pour la laquelle je souhaite organiser les résultats.
    Etant plus a l'aise avec php qu'avec SQL, j'ai déjà pensé une façon de faire mais je me demande si il n'y pas mieux:

    Voici une table semblable à la mienne :

    colonne 1:
    id_tbl_exemple => type int, auto-incrementation
    colonne 2:
    titre_tbl_exemple => type text
    colonne 3:
    message_tbl_exemple => type text
    colonne 4:
    haut_liste_tbl_exemple => type tinyint, prend la valeur 0 ou 1 (1 signifie que l'option est activée)
    colonne 5:
    date_tbl_exemple => type int, timestamp

    Le but serait d'afficher les entrées pour lesquelles haut_liste_tbl_exemple a la valeur 1 par date décroissante dans les premiers résultats et pour le reste à la suite également par date décroissante.

    Ce qui donnerait un listage de cette manière après requête:

    ligne1: haut_liste_tbl_exemple => 1; date _tbl_exemple => 99....etc...
    ligne2: haut_liste_tbl_exemple => 1; date _tbl_exemple => 95....etc...
    ligne3: haut_liste_tbl_exemple => 1; date _tbl_exemple => 94....etc...
    ligne4: haut_liste_tbl_exemple => 1; date _tbl_exemple => 93....etc...
    ligne5: haut_liste_tbl_exemple => 0; date _tbl_exemple => 98....etc...
    ligne6: haut_liste_tbl_exemple => 0; date _tbl_exemple => 97....etc...
    ligne7: haut_liste_tbl_exemple => 0; date _tbl_exemple => 96....etc...
    ligne8: haut_liste_tbl_exemple => 0; date _tbl_exemple => 92....etc...
    ligne9: haut_liste_tbl_exemple => 0; date _tbl_exemple => 91....etc...
    ligne10: haut_liste_tbl_exemple => 0; date _tbl_exemple => 90...etc....


    Dans un premier j'ai temps j'ai pensais faire deux requêtes et les déployer l'une à la suite de l'autre, de cette manière :

    Requête1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT id_tbl_exemple FROM developpez_tbl_exemple WHERE haut_liste_tbl_exemple = '1' ORDER BY date_tbl_exemple DESC
    Requête2:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    SELECT id_tbl_exemple FROM developpez_tbl_exemple WHERE haut_liste_tbl_exemple = '0' ORDER BY date_tbl_exemple DESC
    Serait-il possible d'obtenir le même résultat, avec une seule requête SQL ?

    Merci à tous pour vos réponses.

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Octobre 2002
    Messages
    956
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2002
    Messages : 956
    Points : 1 199
    Points
    1 199
    Par défaut
    bonjour
    Serait-il possible d'obtenir le même résultat, avec une seule requête SQL
    bien sûr, à moins que je n'ai pas compris ce que tu voulais faire.
    Tu n'es pas limité à une colonne dans ton order by.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    SELECT id_tbl_exemple 
    FROM developpez_tbl_exemple 
    ORDER BY haut_liste_tbl_exemple DESC, 
                 date_tbl_exemple DESC
    Un petit rappel: http://sqlpro.developpez.com/cours/sqlaz/select/#L2
    Cordialement
    Soazig

  3. #3
    Membre habitué Avatar de xess91
    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    408
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Octobre 2008
    Messages : 408
    Points : 193
    Points
    193
    Par défaut
    Merci pour ta réponse,

    je ne savais pas, je pensais que j'avais juste un critère pour ORDER BY.

    Encore merci.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 30/07/2009, 15h26
  2. 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, 18h23
  3. Exploiter les résultats d'une requête SQL
    Par grinder59 dans le forum C#
    Réponses: 2
    Dernier message: 29/01/2009, 12h36
  4. Selectionner les résultats d'une requête sql
    Par Seb981 dans le forum Langage SQL
    Réponses: 9
    Dernier message: 11/09/2007, 14h57
  5. Réponses: 5
    Dernier message: 20/03/2007, 18h55

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