我在使用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
请帮助..孩子..
答案 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.php和http://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++; } ?>