MySQL SUM函数

时间:2012-04-12 21:26:37

标签: php mysql

我正在尝试获得一列的总和。

我的架构如下......

scheme screen shot

我想得到'账单'的总和。

我有以下......

   <?php
   $uid = $_SESSION['oauth_id'];
   $query = mysql_query("SELECT * FROM `users`, `income`, `outgoings` WHERE users.oauth_uid = '$uid' and income.user_id = '$uid' and outgoings.user_id = '$uid'") or die(mysql_error());
   $result = mysql_fetch_array($query);
   ?>

   Outgoings = <?php echo $result["SUM(total)"];
但是,我没有收到任何输出。谁能看到我哪里出错了?我的桌子上肯定有数据。

4 个答案:

答案 0 :(得分:1)

在决定从select返回的内容时,必须使用SUM函数。像这样。

   SELECT SUM(`bill`) FROM `users`, `income`, `outgoings` WHERE users.oauth_uid = '$uid' and income.user_id = '$uid' and outgoings.user_id = '$uid'

答案 1 :(得分:1)

如果您不想按其他人的建议执行SUM()查询,请尝试此操作:

<?php
$sum = 0;
while ($row = mysql_fetch_array($query)) {
    $sum += $row['bill'];
}
?>
Outgoings = <?php echo $sum; ?>

但请记住,如果要重用相同的$ query结果集,则需要使用此项:

<?php
     mysql_data_seek($query , 0);
?>

答案 2 :(得分:0)

为什么不直接查询SUM?像:

   <?php
       $uid = $_SESSION['oauth_id'];
       $sum = mysql_query("SELECT SUM(`bill`) FROM `users` WHERE users.oauth_uid = '$uid'") or die(mysql_error());
   ?>

答案 3 :(得分:0)

此查询将为您提供总和:

SELECT sum(bill) FROM `the_table`