SUM(列)如何在MySQL中给出错误的结果?

时间:2011-11-04 23:11:48

标签: 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的某个值?

有更好的方法吗?

2 个答案:

答案 0 :(得分:1)

您的查询应该有效。该错误最有可能出现在用于验证结果的 other 方法中。

  

有更好的方法吗?

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

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

答案 1 :(得分:0)

问题是number_of_guests有一行值很大。我没有看到浏览数据,因为有几百行。当我从HTML页面复制并粘贴到Excel中时,它没有显示,因为该行缺少大多数其他列,并且HTML页面包含所有列。

感谢您的帮助!