【发布时间】:2020-02-25 04:54:04
【问题描述】:
我有一个分数表,我必须按尝试数分组并取分数总和 我想使用 Eloquent 和 SQL raw 嵌套这个查询,并从尝试中获取最大分数并根据分数对其进行排序。我需要最终结果作为排行榜。
$usersByScore = Attempt::where('game_id',$id)
->select('user_id','attempt_no','game_id',DB::raw('SUM(score) as total_score'))
->groupBy('attempt_no')
->orderBy('total_score', 'DESC')
->get()
这给了我排行榜,但它有来自用户的所有尝试。我只需要按分数降序排列的每个用户的最大分数尝试。
【问题讨论】:
-
您是否尝试使用
orderByRaw。可以是->orderByRaw('SUM(score) DESC')