我一直在玩LEFT JOINs,我想知道是否有可能在下面的查詢中獲得所有用戶的所有評分的總和。以下是獲取登錄用戶是否評分的信息,但我也希望顯示來自其他用戶的總評分。在LEFT JOIN的所有行上的SUM()?
$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嗎?
這似乎到目前爲止是最接近的。我需要的功能是顯示當前用戶是否對評論進行了評分,以及評論過評級的所有人的總評分和評分。插入或刪除'where user_id ='「。$ user_id_var。」''似乎得到一個或另一個......但不是兩個。 – john
查看已編輯的查詢:我已經添加了'by comment_id,user_id'組,因此在您選擇評論後,您對每個評論此評論的用戶都有評論。整個查詢應該爲您提供評論和信息的所有評論和信息。然後,您可以在結果行中搜索當前用戶,以查看他是否對特定評論進行了評級。 –
仍然沒有運氣。查詢不需要那裏的用戶ID在某處? – john