【发布时间】:2017-08-14 15:47:12
【问题描述】:
我的items_ratings 表如下:
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;
我不确定应该如何组合这些查询来产生我想要的结果。
【问题讨论】:
标签: mysql average greatest-n-per-group