我想使用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