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 :

Tri special MySql


Sujet :

Requêtes MySQL

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 22
    Points
    22
    Par défaut Tri special MySql
    Bonjour,

    QUelqu'un sait il si il est possible de trier un resultat de MySQL selon un ordre costomisé?

    Merci!

  2. #2
    Membre averti Avatar de Mamilie
    Inscrit en
    Février 2007
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2007
    Messages : 288
    Points : 348
    Points
    348
    Par défaut
    Salut,
    C'est à dire? Tu parles d'un ordre alphabétique par exemple? Alors avec ORDER BY. Sinon précises un peu la question...


    Le cours et la FAQ sont assez complète à ce sujet:
    ftp://ftp2.developpez.be/developps/php/mysql.pdf p.60

  3. #3
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    Justement, c est un tri non alphabetique : par exemple, j'ai differents etats pour mes fiches, et je veux pouvoir recuperer d'abord les fiches initiées, puis les fiches en cours eet enfin les fiches soldées, ce qui n'est pas l'ordre alphabetique.

  4. #4
    Membre averti Avatar de Mamilie
    Inscrit en
    Février 2007
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2007
    Messages : 288
    Points : 348
    Points
    348
    Par défaut
    Si cet état est dans une colonne de ta table, tu peux associer chaque état [initie, encours, solde] à un nombre [1,2,3] puis en utilisant ORDER BY nombre ASC dans ta requête, tu auras tes lignes triées.

  5. #5
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    J'y est pensé aussi, masi le probleme, c'est que je n'ai pas le droit d'ajouter ce champs, decision du superieur...lol

  6. #6
    Membre averti Avatar de Mamilie
    Inscrit en
    Février 2007
    Messages
    288
    Détails du profil
    Informations personnelles :
    Âge : 44

    Informations forums :
    Inscription : Février 2007
    Messages : 288
    Points : 348
    Points
    348
    Par défaut
    Tu devrais vraiment aller voir le cours de MySQL. Il est complet et très simple. Tu auras tes réponses bien plus rapidement que en postant sur le forum, sauf si tu ne trouves vraiment pas bien sûr...

  7. #7
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    Lol merci de ton aide! Il me semble que ca n'est pas possible de le faire directement, mais je toruverais un moyen de faire ce tri avec mon code php.. ENcore merci et bonne journée!

  8. #8
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 284
    Points : 11 737
    Points
    11 737
    Par défaut
    Est-ce que ton boss te laisse créer une table à côté ? parce que dans ce cas tu crées la table suivante :

    Etat Ordre
    ----------
    initie 1
    encours 2
    solde 3

    et tu n'as plus qu'à faire une jointure pour trier sur Ordre.

    Sinon, dernière possibilité :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    SELECT *
    FROM ta_table
    ORDER BY CASE Etat WHEN 'initie' THEN 1 WHEN 'encours' THEN 2 ELSE 3 END

  9. #9
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    Ok, merci, c est exactement la reponse que j'attendais (la ORDER BY CASE...) J'essaie ca tout à l'heure et je vous dis... Merci!

  10. #10
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    26
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 26
    Points : 22
    Points
    22
    Par défaut
    parfait, ca marche! merci!

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

Discussions similaires

  1. Probleme tri special
    Par Shandler dans le forum Langage SQL
    Réponses: 10
    Dernier message: 06/05/2009, 12h57
  2. [MySQL] Tri Résultats MySQL
    Par thonglith dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 25/04/2008, 18h44
  3. creation d'une vue avec tri special
    Par nicoda dans le forum Langage SQL
    Réponses: 5
    Dernier message: 01/02/2008, 14h20
  4. tri complexe mysql
    Par jeroen dans le forum Requêtes
    Réponses: 4
    Dernier message: 22/11/2007, 17h42
  5. [Tableaux] Tri special en php
    Par gelko dans le forum Langage
    Réponses: 4
    Dernier message: 28/02/2007, 15h18

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