我在 MySQL 查询方面不是很有经验,所以我可能做错了什么。 简化我的查询是这样的:
SELECT item.*, AVG(itemRating.rating) as 'rating', COUNT(itemRating.rating) as 'ratingCount'
FROM item, itemRating
WHERE item.id IN (...)
AND itemRating.item_fk = item.id
GROUP BY itemRating.item_fk
它工作正常,除非项目没有评级(itemRating 表中没有记录)。有什么办法可以在不丢失信息的情况下解决这个问题吗?
最佳答案
SELECT item.id,
AVG(itemRating.rating) as 'rating',
COUNT(itemRating.rating) as 'ratingCount'
FROM item
LEFT JOIN itemRating ON itemRating.item_fk = item.id
WHERE item.id IN (...)
GROUP BY item.id
关于mysql - AVG/COUNT MySQL 查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26295015/