mysql sum函数没有给出结果

时间:2014-12-10 03:44:23

标签: php mysql

我在使用mysql计算特定列的总和时有点困惑。

数据库结构 表名:个人 总共有25行,列id,用户ID,名称和金额。

我想通过运行会话来计算特定用户ID的数量。

代码:

<?php
$userid = $_SESSION['userid'];
$sql = "SELECT userid, SUM(amount) FROM personal";
echo $sql."<br/>";
echo $userid;
?>

输出: SELECT userid,SUM(amount)FROM personal gold99

请帮助..孩子..

4 个答案:

答案 0 :(得分:0)

正如您所写,您将获得一个任意用户名,后跟所有金额的总和。如果需要每个用户名的总和,则需要将SUM用作具有GROUP BY的聚合函数:

SELECT userid, sum(amount) FROM personal GROUP BY userid

如上所述,如果只想要一个用户的总和,请使用WHERE子句 但正确的查询只是问题的一部分。您还需要使用php函数对某些数据库执行该查询。这通常使用mysqli_ APIs或PDO(更多对象-y并针对各种数据库提供程序)来完成。 您需要访问数据库,创建语句,执行它并获取结果。有关详情,请参阅http://php.net/manual/en/book.mysqli.phphttp://php.net/manual/en/book.pdo.php,并自行尝试。

答案 1 :(得分:0)

尝试

<?php
    $userid = $_SESSION['userid'];
    $sql = "SELECT userid, SUM(amount) as amount FROM personal where userid=$userid";
    //echo $sql."<br/>";

    //you must execute query
    $query=mysql_query($sql);
    $result=mysql_fetch_array($query);

    echo $result['amount'];
    ?>

答案 2 :(得分:0)

使用此查询它将起作用:

SELECT SUM(amount) as amount FROM personal WHERE userid='xyz'

答案 3 :(得分:0)

<?php
$query = "SELECT userid,amount, SUM(amount) FROM personal WHERE sponserid='$_SESSION[userid]'"; 

$result = mysqli_query($conn,$query);
$count = mysqli_num_rows($result);
$i=1;
while($row = mysqli_fetch_array($result) or die(mysqli_error($conn)))
{
    echo "UserId:". "=". $row['userid'];
    echo "<br />";
    echo "Amount of Id". "=". $row['amount'];
    echo "<br />";
    echo "Sum of total Income"."=".$row['SUM(amount)'];


$i++;   } ?>