2010-07-08 6 views
2

La colonne sql - trans_value contient à la fois les valeurs positives et négatives. J'essaie donc de comprendre comment mettre une somme de valeur positive et de valeur négative de côté, de sorte que je puisse calculer la somme du positif et du négatif. Donc, à la fin, je peux moins les deux, positif - négatif.mysql fetch sum php

modifier, j'oublié de mentionner avant que

il y a aussi nom de la colonne identifiant du produit dans la même table, donc

product_id | trans_value 
1    200 
1    250 
1    -150 
2    500 
2    -300 
3    200 
3    -150 

donc je dois obtenir la somme d'identité du produit 1, l'afficher sur , puis pour 2, 3 et ainsi de suite.

grâce

Répondre

3

Si vous voulez juste voir le total pour chaque Product_ID

SELECT product_id, SUM(trans_value) 
FROM table 
GROUP BY product_id 
ORDER BY product_id 

Si vous avez vraiment besoin des valeurs positives et négatives Séparément:

SELECT SUM(IF(trans_value<0;trans_value;0)) neg, SUM(IF(trans_value>0;trans_value;0)) pos 
FROM table 

placera la somme de les valeurs négatives en neg, la somme des valeurs positives en pos. pos + neg sera la somme totale.

+0

Salut désolé, j'oublié de mentionner plus tôt avant, j'edited mon poste, vérifier pls merci – damien

+0

Edité la réponse. – Konerak

+0

est-il possible de trouver la méthode PHP? – damien

0

SELECT SUM(trans_value) AS sum FROM table WHERE trans_value > 0;

+0

Cela ne fera que résumer les points positifs. OP a demandé les négatifs aussi. – Konerak