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 :

order by 2ieme critère ne marche pas


Sujet :

MySQL

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 122
    Points : 71
    Points
    71
    Par défaut order by 2ieme critère ne marche pas
    Bonjour,

    Je fais une requête avec un order by à 2 critères, le 2ième n'est pas pris en compte :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    select date_format(dateDebut1, '%d/%m/%Y') as dateDebut1Fr,
    		etc..., reductionInter from Opportunite, Formation, Formateur, Organisme where 
                    etc order by reductionInter desc, dateDebut1 asc limit 5" ;
    		//
    une idée ??

  2. #2
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 379
    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 379
    Points : 19 060
    Points
    19 060
    Par défaut
    Salut jpguiche.

    Citation Envoyé par jpguiche
    Je fais une requête avec un order by à 2 critères, le 2ième n'est pas pris en compte :
    Qu'est-ce que tu entends par "n'est pas pris en compte" ?
    As-tu un exemple à nous donner en précisant ce que tu as dans ta base et ce que tu veux exactement obtenir ?

    Quel est la version mysql que tu utilises ?

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 122
    Points : 71
    Points
    71
    Par défaut suite
    Salut Artemus24,

    Je veux afficher par pourcentage de réduction décroissant, et pour un même pourcentage de réduction, par date de début croissant (il s'agit de sessions de formations) :

    Par exemple, j'ai :

    Formation hypnose : Debut 18/01/2016 : réduction : 30%
    Formation C++ : Début 02/02/2016 : réduction : 30%
    Formation Ada : Début 19/12/2015 : réduction : 30%
    Formation C : Début 01/12/2015 : réduction : 25%

    J'ai bien un affichage décroissant des réductions, mais pour une réduction donnée (ex 30%), je voudrais que les dates de début soient croissantes ce qui n'est pas le cas sur l'exemple.

    Voilà.

  4. #4
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2008
    Messages
    2 947
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2008
    Messages : 2 947
    Points : 5 846
    Points
    5 846
    Par défaut
    Quel est le type de données de la colonne dateDebut1 (date ou varchar) ?

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 122
    Points : 71
    Points
    71
    Par défaut réponse
    Salut skuatamad,

    Le type de donnée de dateDebut1 est date. Habituellement, ça marche en order by du moins quand je l'utilise en seul critère...

  6. #6
    Expert éminent sénior Avatar de Artemus24
    Homme Profil pro
    Agent secret au service du président Ulysses S. Grant !
    Inscrit en
    Février 2011
    Messages
    6 379
    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 379
    Points : 19 060
    Points
    19 060
    Par défaut
    Salut à tous.

    Je m'attendais à autre chose que le type 'date'. Donc normalement cela devrait fonctionner normalement.

    J'ai peut-être une piste : Quel est le type de la colonne 'reductionInter' ?
    Est-ce qu'à l'affichage tu as exactement la valeur contenue dans cette colonne, à savoir '30%' ou bien est-ce que tu tronques ce résultat pour obtenir '30%' ?
    Il se peut que ton nombre à virgule, dont le tri va tenir compte, est dominant vis-à-vis de la colonne 'dateDebut1'.
    Autrement dit, le tri sur la colonne 'dateDebut1' sera sans effet car tes '30%' à l'affichage ne sont pas égaux en tant que valeur dans la colonne.
    Il faut que tu vérifies ce que tu as exactement en tant que valeur dans la colonne 'reductionInter'.

    @+
    Si vous êtes de mon aide, vous pouvez cliquer sur .
    Mon site : http://www.jcz.fr

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Février 2010
    Messages
    122
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 122
    Points : 71
    Points
    71
    Par défaut YES !
    Bien vu Artemus24 !

    Effectivement, j'arrondissais l'affichage des réductions, et donc j'avais plusieurs fois 30% là où en réalité c'était un peu différent 30,0xx
    et donc cela explique ce qui se passait.

    Merci pour ta perspicacité !

    JP

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

Discussions similaires

  1. [AC-2007] Requête avec critère qui ne marche pas suivant la version de RunTime
    Par pio_killer dans le forum Runtime
    Réponses: 1
    Dernier message: 19/11/2011, 14h09
  2. Claude ORDER BY qui ne marche pas
    Par Didier71 dans le forum Requêtes et SQL.
    Réponses: 5
    Dernier message: 12/06/2008, 18h23
  3. Réponses: 1
    Dernier message: 11/05/2007, 19h41
  4. [MySQL] Order by qui marche pas, Que faire ?
    Par mulbek dans le forum PHP & Base de données
    Réponses: 25
    Dernier message: 06/01/2006, 14h48
  5. [SQL] Jointure,Group BY et ORDER BY COUNT qui marche pas
    Par Stef784ever dans le forum Langage SQL
    Réponses: 8
    Dernier message: 17/08/2005, 12h28

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