帮助 SQL SUM()?
Posted
技术标签:
【中文标题】帮助 SQL SUM()?【英文标题】:Aid with SQL SUM()? 【发布时间】:2019-03-28 19:49:58 【问题描述】:我不确定我是否应该为此使用 SUM(),但我想获得“earnedcoins”列中所有值的总和,这是我的代码:
$sql = "SELECT SUM(earnedcoins) FROM users";
$result = mysqli_query($conn, $sql);
$earnedcoins = mysqli_num_rows($result);
echo $earnedcoins;
$conn->close();
不幸的是,它只是删除了数字 1。有人可以帮我解决这个问题吗?任何帮助将不胜感激。
【问题讨论】:
@Dave$result
是一个对象,你需要先获取它。
【参考方案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();
【讨论】:
不,不会是always 1
。它仍然可能失败。 OPs 代码中的错误处理不存在以上是关于帮助 SQL SUM()?的主要内容,如果未能解决你的问题,请参考以下文章