需要幫助將放在一起的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