我有items_ratings
表如下:MySQL的:每个项目的平均评分,采用最新的评级用户
items_ratings
+----+--------+---------+---------+---------------------+
| id | rating | user_id | item_id | created (DATETIME) |
+----+--------+---------+---------+---------------------+
| 1 | 20 | 1 | 12 | 2017-07-12 14:00:04 |
| 2 | 80 | 2 | 12 | 2017-07-12 15:32:12 |
| 3 | 50 | 1 | 15 | 2017-08-01 11:14:04 |
| 4 | 90 | 1 | 12 | 2017-08-02 19:23:19 |
| 5 | 60 | 2 | 15 | 2017-08-05 19:23:19 |
+----+--------+---------+---------+---------------------+
我需要为每个item_id
检索的平均值,使用每个用户最近的评级。
下面给我的平均得分为每个项目:
SELECT AVG(rating) FROM items_ratings
GROUP BY item_id
我也确定了以下查询给了我最近的行为每个user_id
,通过item_id
。
SELECT MAX(created), user_id, item_id FROM items_ratings
GROUP BY user_id, item_id;
我不确定如何结合这些查询来产生我想要的结果。
,即可查看新的条件组:[为什么要我为了什么,在我看来是一个非常简单的SQL查询提供MCVE?](HT TPS://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-query) – Strawberry