Page 1 sur 1

mysql calculer SUM colonne et afficher tous les résultats

Posté : 21 févr. 2012, 15:48
par fawi
Bonjour,
Je souhaiterais calculer la somme d'une colonne et afficher tous les résultats.
EX. :

Code : Tout sélectionner

$sql = 'SELECT id,date_in,affiche, SUM(affiche) AS TOTAL FROM event WHERE date_in>=2012-20-21 ORDER BY affiche LIMIT 50'; $req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error()); while($data = mysql_fetch_assoc($req)) { echo $data[affiche'].'-'.$data['TOTAL'];
}
ce qui me retourne un seul résultat.
Si je change "ORDER BY" EN "GROUP BY" il affiche bien tous les résultats mais je n'ai plus le total de la colonne "affiche"!?

Une idée ?

Re: mysql calculer SUM colonne et afficher tous les résultat

Posté : 21 févr. 2012, 16:12
par Thibaud C
Hello,
Effectivement si tu fais un SUM sans group by, il va se contenter de te calculer la somme de tous les champs affiche et t'en renvoyé un seul résultat.

En revanche tu peux utiliser ta première requète qui te retourne une seule ligne de la façon suivante :
SELECT 
id_product, 
(SELECT SUM( price ) AS TOTAL FROM  `product`) AS TOTAL
FROM  `product`
Voili voilou :)
(exemple sorti de mon imagination hein donc ne te contente pas de copier coller :p)

Re: mysql calculer SUM colonne et afficher tous les résultat

Posté : 21 févr. 2012, 16:18
par fawi
BINGO, en effet Thibaud ta solution fonctionne parfaitement.
Voici donc mon select revu et corrigé pour ceux que ca intéresse.


SELECT id,date_in,affiche, (SELECT SUM(affiche) FROM events WHERE date_in>=2012-20-21) AS TOTAL FROM event WHERE date_in>=2012-20-21 GROUP BYid.