0

我试图得到一列的总和。

我的架构如下...

方案截图

我想得到“账单”的总和。

我有以下...

   <?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

4 回答 4

1

SUM在决定从选择返回什么时必须使用该函数。像这样。

   SELECT SUM(`bill`) FROM `users`, `income`, `outgoings` WHERE users.oauth_uid = '$uid' and income.user_id = '$uid' and outgoings.user_id = '$uid'
于 2012-04-12T21:31:01.223 回答
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);
?>
于 2012-04-12T21:35:40.550 回答
0

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

   <?php
       $uid = $_SESSION['oauth_id'];
       $sum = mysql_query("SELECT SUM(`bill`) FROM `users` WHERE users.oauth_uid = '$uid'") or die(mysql_error());
   ?>
于 2012-04-12T21:31:47.943 回答
0

此查询将为您提供总和:

SELECT sum(bill) FROM `the_table`
于 2012-04-12T21:31:53.263 回答