Что я хочу сделать, это SUM столбца, но также COUNT количество строк, которое он суммирует, с лимитом не более 5 строк. Поэтому мой запрос:
SELECT COUNT(*), SUM(score) FROM answers WHERE user=1 LIMIT 5
То, что я ожидал, было COUNT (*) до 5 (я не могу предположить, что в моей кодовой логике всегда будет 5, так как это может иметь менее 5 ответов), с суммой оценки до 5 строк.
Вместо того, что я, кажется, вернусь, это общее количество совпадающих строк (где пользователь равно 1) как счетчик и сумма оценки для этих строк. Цифры не меняют ли я LIMIT 1 или LIMIT 5 или даже LIMIT 50.
То, что я считаю, будет работать в этой ситуации, это вместо этого
SELECT COUNT(*), SUM(score) FROM (SELECT * FROM answers WHERE user=1 LIMIT 5) AS a
Но это кажется немного запутанным для такого простого запроса, и поскольку он в высоком трафике script, он не будет максимально реалистичным.
Мне что-то не хватает? Я нашел этот отчет об ошибках несколько лет назад, который, похоже, связан с этой "проблемой" http://bugs.mysql.com/bug.php?id=50005, но я предполагаю, что это не ошибка?