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

 MySQL Discussion :

Requête SQL avec tri avancé


Sujet :

MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 81
    Par défaut Requête SQL avec tri avancé
    Bonjour,

    Voilà, jusqu'ici j'utilisais simplement la fonction "ORDER BY" qui me suffisait à trier mes résultats. Cependant, je souhaiterais les trier de façon plus complexe.

    Voilà le contexte : j'ai une liste de locations. Celles-ci peuvent être classées 3, 2 ou 1 étoile(s) mais aussi 3, 2 ou 1 clévacance(s). Je sors la liste par ordre décroissant de 3 à 1 clévacance(s) (ORDER by idCle DESC), de façon à mettre en avant les locations les mieux notées. Mais j'ai récemment ajouté le classement préfectoral par étoiles.

    Pour ce faire j'ai renommé mes entrées en 3p, 2p, 1p, et 3c, 2c, 1c.
    Malheureusement en ordre décroissant , le 3p sors avant le 3c !

    Or, le label "clévacances" doit sortir avant le classement préfecture du fait qu'il est plus rigoureux sur le confort.

    Il faudrait donc tricher sur le trie en spécifiant de faire passer une valeur Xc avant une valeur Yc.

    Ne faudrait-il pas tout simplement renommer (en langage SQL) toutes les retours d'entrées de la façon suivante : 3c = 6, 2c = 5, 1c = 4 , 3p = 3, 2p =2, 1p = 1. Puis trier par ordre décroissant de ces nouvelles correspondances.

    Comment puis-je traduire ceci en langage SQL ?

    Je vous remercie

  2. #2
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Saluton,
    Bien que l'utilisation de la notion de TRI quand on veut parler de CLASSEMENT ou de rangement selon un ordre m'agace toujours autant, je pense que la réponse à ta question se trouve dans l'utilisation de la syntaxe ORDER BY FIELD() comme présentée dans ce post http://www.developpez.net/forums/d61...s-tri-donnees/
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  3. #3
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Et en plus, ça figure dans la FAQ.
    A consulter avant de poster .

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  4. #4
    Membre Expert
    Avatar de Maljuna Kris
    Homme Profil pro
    Retraité
    Inscrit en
    Novembre 2005
    Messages
    2 613
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 73
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2005
    Messages : 2 613
    Par défaut
    Citation Envoyé par ced Voir le message
    Et en plus, ça figure dans la FAQ.
    Je suis encore plus boulet parce que j'ai du faire une recherche dans le forum pour lui trouver un post qui traitait du sujet.
    Kie lumo eksistas ankaŭ ombro troviĝas. L.L. Zamenhof
    articles : Comment émuler un tableau croisé [quasi] dynamique
    et : Une énigme mathématique résolue avec MySQL
    recommande l'utilisation de PDO (PHP5 Data Objects)

  5. #5
    Membre actif
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    81
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 81
    Par défaut
    Maljuna Kris "Je suis encore plus boulet".
    Merci !

    J'ai ma réponse et vous en remercie énormément.

    Ceci dit si il y a autant de "boulets" (= personnes qui postent un sujet déjà évoqué) c'est aussi parce que ne savent où se trouve la réponse que ceux qui l'ont ! Pour s'approprier un site il faut du temps !

    Merci encore et à bientôt !

  6. #6
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 063
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 063
    Par défaut
    Citation Envoyé par Lexarino Voir le message
    Ceci dit si il y a autant de "boulets" (= personnes qui postent un sujet déjà évoqué) c'est aussi parce que ne savent où se trouve la réponse que ceux qui l'ont ! Pour s'approprier un site il faut du temps !
    C'est bien pour ça qu'il y a des règles à suivre , pour apprendre à s'approprier le site .

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

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

Discussions similaires

  1. requête sql avec clause INNER JOIN
    Par new_wave dans le forum Langage SQL
    Réponses: 1
    Dernier message: 12/08/2005, 15h47
  2. Requête SQL avec une réponse unique
    Par Glutinus dans le forum Langage SQL
    Réponses: 5
    Dernier message: 06/07/2005, 16h35
  3. Problème de requête SQL avec instruction TRANSFORM
    Par Nosper dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 21/06/2005, 16h15
  4. requête SQL avec paramètre en vb avec base de donnée SQL srv
    Par dialydany dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/02/2005, 10h33
  5. PB requète SQL avec Interbase
    Par missllyss dans le forum InterBase
    Réponses: 2
    Dernier message: 15/07/2003, 11h37

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