【发布时间】:2020-07-05 11:49:11
【问题描述】:
我想加入两个表。一个是“用户”,另一个是“评论”。 我想要实现的是所有用户的平均评分和总评分来自评论表。 当评论表包含所有用户的评分时,我得到了预期的结果。 但是当评论表为空时,我只能从用户表中获得一条记录。目前 users 表中有 3 个用户,但查询只显示一条记录。
即使评论表中没有用户记录,我也想获取所有用户。 这是我正在使用的查询
SELECT u.id, u.name, u.photo, COUNT(r.rating) AS totalratings,
( SELECT ROUND (AVG(r.rating),0)
FROM reviews r
WHERE r.fk_receiver_id = u.id) AS avg_rating
FROM
users u LEFT JOIN reviews r
ON r.fk_receiver_id = u.id
WHERE u.role=2
GROUP BY r.fk_receiver_id
【问题讨论】:
标签: php mysql count left-join average