以下を返すMYSQLクエリをまとめておくことができます(可能な場合)。現時点では、2つのクエリで必要なデータを抽出しますが、1つだけで達成することができれば満足しています。MYSQLクエリ、複数のテーブル(平均値)
私は2つのテーブルを持っています。使用可能なすべてのドキュメントをリストする1つのドキュメントテーブル。私はまた、さまざまな文書の評価を持つテーブルを持っています。ドキュメントごとに複数の評価があり、ドキュメントの平均評価に興味があります。
表の文書
+-------+------------+
| 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