mysql fetch sum php

时间:2010-07-08 15:55:07

标签: php mysql aggregate-functions

sql column - trans_value包含正值和负值。

所以我试图弄清楚如何设置正值和负值之和,这样我就可以计算出正数之和和负数之和多少。

所以最后,我可以减去两者,正面 - 负面。

编辑 我忘了在那之前提到

同一个表中也有列名产品ID,所以

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

所以我需要得到产品ID 1的总和,显示出来,然后是2,3等等。

感谢

2 个答案:

答案 0 :(得分:3)

如果您只想查看每个product_id的总数

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

如果你真的需要正面和负面的价值观:

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

将负值的总和放在neg中,pos中的正值之和。 pos + neg将是总和。

答案 1 :(得分:0)

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