我不确定我是否应该为此使用 SUM(),但我想获得“earnedcoins”列中所有值的总和,这是我的代码:
$sql = "SELECT SUM(earnedcoins) FROM users";
$result = mysqli_query($conn, $sql);
$earnedcoins = mysqli_num_rows($result);
echo $earnedcoins;
$conn->close();
不幸的是,它只是消除了数字 1。有人可以帮我解决这个问题吗?任何帮助将不胜感激。
最佳答案
mysqli_num_rows()
将始终为该查询返回 1
,因为您只返回一行 - 这是求和的行数。相反,您需要从 SUM()
中获取该值。
给 SUM()
一个别名,并获取值。在使用 SUM()
之类的聚合函数时,您还应该使用 GROUP BY
- 我不知道您的表结构,但也许 GROUP BY id
如果存在的话。
$sql = "SELECT SUM(earnedcoins) as result FROM users";
$result = mysqli_query($conn, $sql);
$sum = $result->fetch_assoc()['result'];
echo $sum;
$conn->close();
关于php - 帮助 SQL SUM()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55405805/