select r,avg(ur.score)
from UserResource ur
join Resource r on ur.resourceId=r.id
group by ur.resourceId
order by avg(ur.score) desc
上面的查询应该以{{1}}顺序返回结果,但实际上我得到的是avg(ur.score)
顺序。如果我将查询更改为仅选择r.id
的下方,则结果将按avg(ur.score)
顺序排列。
avg(ur.score)
为什么第一个查询中的select avg(ur.score)
from UserResource ur
join Resource r on ur.resourceId=r.id
group by ur.resourceId
order by avg(ur.score) desc
子句不起作用以及如何解决它?
答案 0 :(得分:0)
您的查询似乎有问题,而不是排序问题。
您正尝试按不属于select语句的列进行分组。
作为ur.resourceId=r.id
,您可以尝试以下内容:
select r.id,avg(ur.score)
from UserResource ur
join Resource r on ur.resourceId=r.id
group by r.id
order by avg(ur.score) desc