需要帮助将放在一起的MYSQL查询返回以下内容(如果可能的话)。目前,我用两个查询提取我需要的数据,但如果可以用一个查询完成,将会很高兴。MYSQL查询,多个表的平均值为
我有两个表。一个列出所有可用文档的文档表。我也有一张表格,里面有不同文件的评分。每个文档可以有多个评分,我对文档的平均评分感兴趣。
表文件
+-------+------------+
| docId | docTitle |
+----+---------------+
| 1 | Doc1 title |
| 2 | Doc2 title |
+-------+------------+
表评论从查询
+----+------------+-----------+
| id | title | avgRating |
+----+------------+-----------+
| 1 | Doc1 title | 4 |
| 2 | Doc2 title | 2,5 |
+----+------------+-----------+
解决
+------------+---------------+
| docId | commentRating |
+------------+---------------+
| 1 | 5 |
| 1 | 3 |
| 2 | 1 |
| 2 | 4 |
+------------+---------------+
返回的结果! 我用这个查询得到我想要的结果:
SELECT doc.docId, doc.docTitle, doc.docThumbnail, averageRating
from `document` as doc
Left join (
select * , avg(commentRating)
as averageRating from comments
group by comments.docId
)
as rat On commentRating = doc.docid
我们同时改变了,但是我太慢了! – MohaMad