gpt4 book ai didi

mysql - 在 Laravel 中获得最高分

转载 作者:行者123 更新时间:2023-11-29 05:49:29 25 4
gpt4 key购买 nike

我有 2 个表:

user: id, name

score: id, user_id, point

现在我想获得 5 个得分最高但似乎是错误的用户名。

这是我的代码:

public function getTop(){
$top = DB::table('score')
->select('user_id', DB::raw('COUNT(point)'))
->groupBy('user_id')
->orderBy(DB::raw('COUNT(point)'), 'DESC')
->take(5)
->get();
return view('home',compact('top'));
}

最佳答案

在您的情况下,数据库查询更有意义。

  1. 数据库查询以获得总分排名前 5 的 user_id。
  2. 用该结果加入 users 表。

    $topResult = DB::table('users'
    )->join(DB::raw('(SELECT user_id, SUM(point) as score FROM score GROUP BY user_id ORDER BY SUM(point) LIMIT 5) as top_scorer'), function($join) {
    $join->on('top_scorer.user_id', '=','users.id');
    })
    ->select(['users.*', 'top_scorer.score']) //Select fields you need.
    ->orderBy('top_scorer.score')
    ->get();

关于mysql - 在 Laravel 中获得最高分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55798399/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com