Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Warum eine Join-Abfrage, die eine Summenfunktion enthält, nur 1 Zeile zurückgibt

Sie benötigen ein GROUP BY andernfalls wird die gesamte Tabelle aggregiert, anstatt eine Zeile für jede problem_id zurückzugeben:

SELECT
    problems.problem_id,
    creator_member_id,
    problem_title,
    problem_description,
    sum(vote) as totalVotes,
    problem_date
FROM problems
LEFT JOIN problem_votes
    ON problems.problem_id = problem_votes.problem_id
GROUP BY problems.problem_id

Diese Abfrage verwendet eine MySQL-Erweiterung:GROUP BY und HAVING mit versteckten Spalten