Как SUM (столбец) может дать неверные результаты в MySQL? - PullRequest
0 голосов
/ 05 ноября 2011

У меня есть следующий простой запрос MySQL, вызванный из PHP:

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

Это отлично работает, за исключением одного $ foo_id, который возвращает примерно в 2,5 раза больше, чем сумма поля number_of_ghest.

Что может вызвать такое поведение только для определенного значения $ foo_id?

Есть ли лучший способ сделать это?

Ответы [ 2 ]

1 голос
/ 05 ноября 2011

Ваш запрос должен работать.Ошибка наиболее вероятна в другом методе, который вы используете для проверки результата.

Есть ли лучший способ сделать это?Да.Поскольку вы выбираете только одну группу, нет необходимости в предложении GROUP BY:

SELECT SUM(number_of_guests)
FROM guests 
WHERE foo_id = $foo_id
0 голосов
/ 07 ноября 2011

Проблема в том, что была одна строка с большим значением для number_of_ghest.Я не видел в просмотре данных, потому что есть несколько сотен строк.Он не отображался, когда я копировал и вставлял страницу HTML в Excel, поскольку в этой строке отсутствовали большинство других столбцов, а на странице HTML есть все столбцы.

Спасибо за вашу помощь!

...