MySQL查询,多列的SUM

时间:2010-03-19 13:26:18

标签: php mysql

我在mySQL表中有多个列。其中三列被命名为i100s,i60s和i25s,我想要做的就是得到所有三个条目的总和。目前我有这个代码

   '$query= "SELECT SUM(i100s),SUM(i60s),SUM(i25s) AS tkit FROM event WHERE acc='100' " ; 
    $result = mysql_query($query) or die(mysql_error());
    $row = mysql_fetch_assoc($result) ;
    $total =  $row['tkit'];' 

但它没有返回正确的结果。

3 个答案:

答案 0 :(得分:6)

所有三列的总和?

如果是这样,只需将它们添加起来:

'$query= "SELECT SUM(i100s) + SUM(i60s) + SUM(i25s) AS tkit FROM event WHERE acc='100' " ;

答案 1 :(得分:0)

SELECT (SUM(i100s) + SUM(i60s) + SUM(i25s)) AS tkit ...

这将返回列总和的总和。

答案 2 :(得分:0)

将有不同的方法....付款是在method_1,method_2,method_3上支付的。所以我想计算一个特定方法的总和,比如1000 ..对于所有方法类型。

表:payment_test

id method_1 payment_1 method_2 payment_2 method_3 payment_3
1  1000     100       1001     200       1001     100
2  1011     100       1000     100       1000     100
3  1010     200       1001     100       1010     200
4  1000     400       1010     500       1001     100


SELECT SUM(
    CASE WHEN method_1 ='1000' THEN payment_1 ELSE 0 END
    + CASE WHEN method_2 ='1000' THEN payment_2 ELSE 0 END
    + CASE WHEN method_3 ='1000' THEN payment_3 ELSE 0 END) as payment
FROM payment_test

输出:

付款
  700