帮助 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()?的主要内容,如果未能解决你的问题,请参考以下文章

需要帮助从 sql 内连接获取 SUM 数据

我需要一些关于 SQL Sum 函数按日期和组分组的帮助

SQL任务帮助请

SQL帮助文档

需要 SQL 查询帮助并显示错误消息操作数应包含 1 列

如何使用 SUM 计算将 SQL 转换为 Linq