【问题标题】:mysql fetch sum phpmysql 获取总和 php
【发布时间】:2011-03-13 10:35:24
【问题描述】:

sql 列 - trans_value 包含正负值量。

所以我想弄清楚如何将正值和负值的总和放在一边,这样我就可以计算出正数和负数的总和是多少。

所以最后,我可以同时减去正负。

编辑, 之前忘了说

同一张表中还有列名product id,所以

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

所以我需要获取产品 id 1 的总和,将其显示出来,然后显示 2、3 等等。

谢谢

【问题讨论】:

    标签: php mysql aggregate-functions


    【解决方案1】:

    如果您只想查看每个 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,将正值的总和放入pospos + neg 将是总和。

    【讨论】:

    • 嗨对不起,我之前忘了提,我编辑了我的帖子,请检查一下,谢谢
    • 有没有可能想出php的方法?
    • 呃,pos - neg不是总和,总和是pos + neg
    【解决方案2】:

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

    【讨论】:

    • 这只会总结积极因素。 OP也要求否定。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-29
    • 2013-10-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-26
    相关资源
    最近更新 更多