【发布时间】:2015-08-21 02:29:32
【问题描述】:
我有一个名为ranks 的表,它存储一个 1-7 的值并将它与一个项目和用户 ID 连接起来。一个项目的评分是它所获得的所有评分的平均值。
排名表:id | userid | value | itemid.
按平均最高评分排序,我这样做(来自此处的答案):
select avg(value), itemid
from ranks
group by itemid
order by avg(value) desc
但是,我还希望能够过滤具有特定评级的项目,而不仅仅是最高评级 -> 最低评级。例如,平均评分介于 5 和 6 之间的项目。
select avg(value), itemid
from ranks
having avg(value) between 5 and 6
group by itemid
order by avg(value) desc
这给了我group by 的非特定错误。谁能指出我正确的方向?
【问题讨论】: