SUM et GROUP BY

Discussion dans 'Développement d'un site Web ou d'une appli mobile' créé par marcuscollins, 9 Août 2006.

  1. marcuscollins

    marcuscollins Nouveau WRInaute

    Inscrit:
    2 Août 2005
    Messages:
    35
    J'aime reçus:
    0
    Bonjour,

    Je souhaiterai pouvoir trier par ordre décroissant (du plus grand au plus petit) la somme d'un champ d'une table. J'ai lu sur cette page http://mysql.com/doc/refman/5.0/fr/group-by-modifiers.html que l'on pouvait grouper les champs d'une table grâce à GROUP BY mais comment faire pour afficher du plus grand au plus petit la somme de plusieurs champs ?

    Par exemple la requête ci-dessous trie les années, mais comment faire pour trier du plus grand au plus petit le "sum_profit" ?
    Si l'on rajoute un « ORDER BY sum_profit DESC » après le GROUP BY ça ne marche pas non plus !

    D'avance merci pour vos réponses.
     
  2. animus

    animus WRInaute discret

    Inscrit:
    23 Mai 2005
    Messages:
    92
    J'aime reçus:
    0
    Salut,

    je ne suis pas pro en sql mais je crois que tu ne peux pas mettre plusieurs "trucs" avec SUM. Je l'avais lu dans un autre tuto

    donc

    mysql> SELECT year, country, product, SUM(profit) AS sum_profit
    ne marche pas. Il faudrait faire d'abord un
    mysql> SELECT = SUM(profit) AS sum_profit WHERE...

    puis dans un second <?php ... ?> mysql> : SELECT year, country, product, etc...

    essaies et dis moi si ça marche. Moi, perso, je décompose en plusieurs <?php...?> et ça fonctionne

    J'espère ne pas dire trop de conneries au yeux des pros de ce forum
     
  3. marcuscollins

    marcuscollins Nouveau WRInaute

    Inscrit:
    2 Août 2005
    Messages:
    35
    J'aime reçus:
    0
    Merci animus pour ta réponse.

    Théoriquement la requête ci-dessous doit fonctionner car je l'ai prise sur le tutoriel de mysql.com

    J'ai essayé pas mal de solution pour essayer de trier du plus grand résultat au plus petit le "sum_profit" mais ça ne marche pas, même en rajoutant après le GROUP BY un « ORDER BY sum_profit DESC » , ça ne marche pas non plus, quelqu'un a-t-il une idée ?