【发布时间】:2016-05-25 19:39:43
【问题描述】:
我有一个包含 user_id、movie_id、rating 的表。这些都是 INT,评分范围为 1-5。
我想获得中等评分并按 user_id 对其进行分组,但我在执行此操作时遇到了一些问题。
我现在的代码是:
SELECT AVG(rating)
FROM (SELECT rating
FROM movie_data
ORDER BY rating
LIMIT 2 - (SELECT COUNT(*) FROM movie_data) % 2
OFFSET (SELECT (COUNT(*) - 1) / 2
FROM movie_data));
但是,这似乎返回了所有评分的中值。如何按 user_id 对其进行分组,以便查看每个用户的平均评分?
【问题讨论】: