簡體   English   中英

LEFT JOIN 返回所有行,盡管 GROUP BY

[英]LEFT JOIN return all rows despite GROUP BY

我正在嘗試讓 LEFT JOIN 查詢包含評論表中的所有行:

SELECT r.review_id, SUM(v.vote_good), SUM(v.vote_bad)
FROM reviews AS r
LEFT JOIN reviews_votes_overall AS v
ON r.review_id = v.vote_review_id
GROUP BY v.vote_review_id
ORDER BY SUM(v.vote_good)

不幸的是,由於某些評論沒有相應的投票,因此 GROUP BY 導致未返回評論表中的行。

如何在此查詢中返回評論表中的所有行?

您應該使用GROUP BY r.review_id 如果評論沒有任何投票,則v.vote_review_idNULL 當您按v.vote_review_id ,所有具有零投票的記錄將被分組到結果review_id一行中,並且review_idNULL

SELECT r.review_id, SUM(v.vote_good), SUM(v.vote_bad)
FROM reviews AS r
LEFT JOIN reviews_votes_overall AS v
ON r.review_id = v.vote_review_id
GROUP BY r.review_id
ORDER BY SUM(v.vote_good)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM