我一直在玩 LEFT JOIN,我想知道是否有可能在下面的查询中从所有用户那里得到所有评级的总和。下面是有关登录用户是否评分的信息,但我还想显示其他用户的总评分。
$query = mysql_query("
SELECT com.comment, com.comment_id, r.rate_up, r.rate_down
FROM comments com
LEFT JOIN ratings r
ON com.comment_id = r.comment_id
AND r.user_id = '" . $user_id_var . "'
WHERE page_id = '" . $category_id_var. "'");
我尝试了以下方法,但出于某种原因我只收到一条评论/一行。
$query = mysql_query("
SELECT com.comment, com.comment_id,
r.rate_up, r.rate_down
SUM(r.rate_up) AS total_up_ratings,
SUM(r.rate_down) AS total_down_ratings,
FROM comments com
LEFT JOIN ratings r
ON com.comment_id = r.comment_id
AND r.user_id = '" . $user_id_var . "'
WHERE page_id = '" . $category_id_var. "'");
感谢任何帮助。我需要不同类型的 JOIN 吗?
最佳答案
您是否尝试过在 SQL 末尾使用 GROUP BY page_id
?
关于mysql - SUM() 在 LEFT JOIN 的所有行上?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10447963/