我正在尝试获得一列的总和。
我的架构如下......
我想得到'账单'的总和。
我有以下......
<?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)"];
但是,我没有收到任何输出。谁能看到我哪里出错了?我的桌子上肯定有数据。
答案 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`