mysql - MySQL 中的 SUM(column) 怎么会给出错误的结果?

标签 mysql sql group-by sum

我有以下简单的 MySQL 查询,从 PHP 调用:

SELECT foo_id, SUM(number_of_guests)
FROM guests 
WHERE foo_id = $foo_id
GROUP BY foo_id

这工作正常,除了一个 $foo_id,它返回的值大约是 number_of_guests 字段总和的 2.5 倍。

什么可能导致仅对 $foo_id 的特定值出现此行为?

有更好的方法吗?

最佳答案

您的查询应该有效。该错误很可能出现在您用来验证结果的其他方法中。

Is there a better way to do this?

是的。由于您只获取一组,因此不需要 GROUP BY 子句:

SELECT SUM(number_of_guests)
FROM guests 
WHERE foo_id = $foo_id

关于mysql - MySQL 中的 SUM(column) 怎么会给出错误的结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8016781/

相关文章:

php - utf8表中插入奇怪的字符

mysql - 删除mysql中重复的字符串

php - PDO 插入不插入多个值

mysql - 使用 MySQL 存储过程从结果集中选择唯一值

Mysql: unknown variable, 无法运行任何mysql应用程序,似乎与my.cnf无关

sql - RBAR 与基于集合的 SQL 编程

SQL "group by"like - 分组算法

mysql - 分组 MySQL 数据

mysql - MySQL中如何确定一组的第一个结果?

mysql - vmware中ubuntu访问mysql的方法