在使用mysql计算特定列的总和时,我有点困惑。
数据库结构表名: personal共25行,列id、userid、name、amount。
我想通过运行会话来计算特定userid的数量。
代码:
<?php
$userid = $_SESSION['userid'];
$sql = "SELECT userid, SUM(amount) FROM personal";
echo $sql."<br/>";
echo $userid;
?>输出:从personal gold99中选择用户SUM、SUM(金额)
请help..guys..
发布于 2014-12-10 11:53:52
正如你所写的,你将得到一个任意的用户名,后面是所有金额的总和。如果需要每个用户名的sum,则需要将SUM用作具有GROUP BY的聚合函数:
SELECT userid, sum(amount) FROM personal GROUP BY userid如前所述,如果您只想要一个用户的总和,请使用WHERE子句。
但是正确的查询只是问题的一部分。您还需要使用php函数对某些数据库执行该查询。这通常是通过mysqli_ API或PDO (更多的object-y,针对各种数据库提供程序)来完成的。您将需要访问数据库、创建语句、执行语句并获取结果。有关更多信息,请参阅http://php.net/manual/en/book.mysqli.php和http://php.net/manual/en/book.pdo.php,并自己尝试一下。
发布于 2014-12-10 11:56:49
试一试
<?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'];
?>发布于 2014-12-10 12:42:48
使用以下查询将会起作用:
SELECT SUM(amount) as amount FROM personal WHERE userid='xyz'https://stackoverflow.com/questions/27392988
复制相似问题