我在MySQL數據庫中的兩個表:ORDER BY有兩列
- 人次(ID,姓名,遞減,createdat)
- trip_ratings(ID,ratingvalue,TRIPID,用戶ID)
我想獲得100條最新的旅行點評,需要更高的平均評分。
我曾嘗試下面的MySQL查詢:
SELECT AVG(ratingvalue),tripid,tripcreatedat FROM trip_ratings
INNER JOIN trips on trip_ratings.tripid = trips.id
GROUP BY trip_ratings.tripid
ORDER BY AVG(ratingvalue) DESC, tripcreatedat DESC
LIMIT 100
但由於它按評分分值首先我只得到通過較高的收視率排序人次。
在單個查詢中可能嗎?任何人都可以提示我該怎麼辦?
編輯:例如: 我在trip_ratings表中的數據是這樣的:
,並從我試着查詢我能得到這樣的結果。
但我的問題是:獲取最近的100條排序依據更高的平均評分。
而不是downvoting和關閉投票,任何人都可以有任何解決方案,或任何人都可以給我一個提示,這可能在一個單一的查詢?謝謝。
請添加示例數據和預期輸出 – 2015-03-30 18:02:16
@juergend我已經把理想的結果。和好的,等等,我正在編輯 – 2015-03-30 18:03:46
@AmeyaDeshpande *「你可以只訂單一列」* - 不真實。在這裏,谷歌「通過MySQL多重訂單」,你會看到很多結果。 – 2015-03-30 18:04:27