我是MYSQL的初学者请帮助我。
我有两张桌子和费率。
我希望out put是imgID Rate。
图像ID为图像表中的p.k.
图像是速率表中的foriegn键。
费率表样本数据
ImgID Rating
1 5
1 7
1 8
2 8
3 2
4 3
1 4
图像表样本数据
ImgID Comment rate
1 good 7
2 bad 8
3 ok 8
4 fine 8
5 bad 7
out put i required is is
ImgId avg(比率img id时的费率表费率)
例如
ImgIf rate
-----------
1 6
2 8
3 2
4 3
我需要此输出的子查询。
提前致谢
答案 0 :(得分:4)
您不需要子查询,需要聚合。
SELECT ImgID,
AVG(Rate) Rate
FROM RateTable
GROUP BY ImgID
如果您想要包含所有图像,无论是否有评级:
SELECT i.ImgID,
AVG(r.Rate) Rate
FROM ImageTable i
LEFT JOIN
RateTable r
ON i.ImgID = r.ImgID
GROUP BY i.ImgID