我想使用SQL来获得5个“最佳”评级配置文件。问题是,我不希望只根据成绩排名。按两列排序的SQL复杂
说有8.1等级的轮廓,但与5条评论我希望它是使一个档次7.9和30条的轮廓将获得较高排名。
如何可以完成,如果等级是最高.3比另一种,但与最低的30%的评论更高的低比其他上市高?
这是现在我的查询:(平均=品位,回顾=评论的数量)
SELECT name,reviews,average
FROM profiles
WHERE average >= 7
AND reviews >= 50
ORDER BY average DESC, reviews DESC
LIMIT 5
我认为你可以创建一个计算列的视图,如:'Adjusted_Grade = Number_of_Reviews/10.0 + Raw_Grade' – 2014-11-01 15:53:04
你可以写一个排序函数,它只需要一行并生成一个好的值,可以正确排列所有东西吗?我怀疑没有;它很可能需要两行,而不是一行。这将使它很难。顺便提一下,您的两个示例配置文件都会被查询中的过滤条件拒绝。 – 2014-11-01 18:29:36