Вы должны указать MySQL, по чему вы группируете. Прямо сейчас он думает, что вы хотите, чтобы ВСЕ сгруппировалось в один ряд. Если вы хотите, чтобы это сгруппировалось по problem_title
, то добавьте в эту строку после вашего WHERE
:
GROUP BY problem_title
Это приведет к тому, что вы получите отдельную строку для каждого уникального problem_title
, а sum
будет считать только записи, соответствующие этому заголовку.
Edit:
Таким образом, весь запрос будет выглядеть примерно так:
select problems.problem_id , problem_title , sum( vote ) as totalVotes
from problems
left join problem_votes on problems.problem_id = problem_votes.problem_id
left join problem_categories on problems.problem_id = problem_categories.problem_id
where problem_categories.category_id = 1
group by problem_title;