簡體   English   中英

MySQL左連接不返回所有行

[英]MySQL left join doesn't return all rows

我有兩張桌子:“images”和“images_votes”。 這是一個評級系統,所以我需要計算投票和分數的總和

當我進行LEFT JOIN時,不會出現“images”中的所有行,只有那些有投票的行,還有一個。

這是查詢:

SELECT `images`.`id` AS id, COUNT( images_votes.id_image ) AS votes, SUM( images_votes.val ) AS val
FROM (
`images`
)
LEFT JOIN `images_votes` ON `images`.`id` = `images_votes`.`id_image`
GROUP BY `images_votes`.`id_image`

這是完整的例子:

http://www.sqlfiddle.com/#!2/05526/1

我有5張圖片,所以我希望結果會返回5行。 我只得到3:2的投票,還有一個。

為什么會這樣?

如何獲得5(所有)行?

改變group by

GROUP BY `images`.`id`

您希望按包含所有圖像的表進行分組。

SQLFiddle演示

暫無
暫無

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

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