我有一个名为 rating 的表,看起来像这样
评级 | 皮西德 | 用户 8 12 6 7 12 6 9 15 7 5 16 7 9 17 8 10 2 8 7 18 3 10 22 12
我想根据 picid 对评级进行分组,但只选择每个用户评级最高的 picid。我已经有这样的查询:
SELECT *, AVG(rating) AS total FROM ratings
GROUP BY picid ORDER by total DESC
现在查询将输出如下信息:
评级 | 皮西德 | 用户 7.5 12 6 9 15 7 5 16 7 9 17 8 10 2 8 7 18 3 10 22 12
所以它成功地根据 picid 对评级进行了分组,但我只想要每个用户最高的一个。我希望它输出如下信息:
评级 | 皮西德 | 用户 7.5 12 6 9 15 7 10 2 8 7 18 3 10 22 12
看看它是如何只允许每个用户获得最高评价的 picid 的?我怎样才能修改我的查询来做到这一点?
如果您需要对我的要求进行更多说明,请告诉我。