Group By ?

SALEM

je programmer sous delphi7 / paradox je rencontre un petit probleme :
comment classer les champs a partir de champ "nom"
.
.
exmlple :
.
TABLE
nom .................age...............montant
------------------------------------------
ahmed............... 45 ...............50.12
moh .................39.................29.93
ahmed.............45..................30.00
ali ....................26.................19.79
moh.................39..................60.00
.
.
résultat est :
.
.
nom ............... age............... montant
------------------------------------------
ahmed............... 45 ...............80.12
moh .................39.................89.93
ali.....................26..................19.79
.
c-a-d : grouper a aprtir des "nom" et effectue le somme de "montant"
j ai utilise la requette suivante
" select nom,age,sum(montant) from table group by nom,age
mais pas de résultat

aide mois SVP
MERCCCCCCCCCCCCI

4 réponses

  1. C'est le ORDER BY qu'il faut utiliser pour classer les éléments.

    Le GROUP BY fait la somme des lignes qu'il regroupe.

    Dans ton cas:


    SELECT nom, age, sum(montant)
    FROM table
    GROUP BY nom, age
    ORDER BY nom;

    Je pense que ça devrait aller; tu regroupe et effectue la somme puis le order by vient trier tes éléments sur le nom (remarque que tu peux ajouter d'autres critère pour le tri, qui seront pris en compte après)

    @+

    Gilles
    1. merciiii Blockiestbeatle pour voutre réponce
      le résultat es grouper les tuples(lignes) correct mais la somme de montant non affiche pas
      resultat de requette

      nom ............... age............... montant
      ------------------------------------------
      ahmed............... 45 ...............
      moh .................39.................
      ali.....................26..................
      .
      .
      le montant ne affiche pas
      1. De rien ;)

        Je cherchais de mon côté aussi, mais sans trouver d'autre solution!

        Soulagé!