我在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