mysql - SUM() 在 LEFT JOIN 的所有行上?

标签 mysql

我一直在玩 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/

相关文章:

javascript - 将 HTML DOM 值插入数据库

php - 检查用户名是否被占用

PHP消息系统与mysql。一张表并查询新消息总数

javascript - 为什么 SQL 语句将 "missing"列的值更新为 NULL?

php - jquery 到 php 代码,然后到数据库

mysql 游标执行

MySql JOIN on Date 花费的时间太长

php - 如果在字段中找到指定值,则拒绝 PDO MySQL 语句?

php - 具有持久连接的最后一个 ID

php - MYSQL 喜欢连接但只需要最新的行?