从mysql格式化的数据计算总和

时间:2012-12-21 06:45:33

标签: php mysql sum

$query_stoday = "SELECT sum(amount), sum(amtnaira) 
                 FROM transactions
                 WHERE transtype = 'buy' 
                       AND batch !='' 
                       AND date2 ='$date2'";

我使用上面的代码来计算当天的总金额,但我注意到它只计算逗号之前的数字。例如,在 2,780.00 中,它仅添加 2并忽略逗号后面的数字。请问如何进行查询以计算所有内容?

3 个答案:

答案 0 :(得分:2)

使用此查询

SELECT sum(REPLACE((amount), ',', '')), 
sum(REPLACE((amtnaira), ',', '')) 
FROM transactions WHERE transtype = 'buy' AND batch !='' AND date2 ='$date2'

这就是你所需要的。

答案 1 :(得分:0)

你应该使用 PHP number_format功能

答案 2 :(得分:0)

您可以通过这种方式构建查询

    SELECT REPLACE((amount), ',', '') as amount, 
    REPLACE((amtnaira), ',', '') as amtnaira 
    FROM transactions WHERE transtype = 'buy' AND batch !='' AND date2 ='$date2'

    //Then format the 'amount' and 'amtnaira' values like this

    $sum_amount += number_format($row['amount'],2);
    $sum_amtnaira += number_format($row['amtnaira'],2);

这应该有用。