gpt4 book ai didi

php - Laravel 中某个字段出现次数最多的查询

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

我有以下查询:

$top_cont = DB::table('quests') 
->whereBetween('created_at', [Carbon::now()->startOfDay(), Carbon::now()->endOfDay()])
->take(5)
->get();

quests 表有一个 user_id 列。我正在尝试获取贡献最多的前 5 个 user_id(即当天任务表中的行数最多)。

如何调整查询以获取出现次数最多的 user_id

如果有人可以用原始 sql 来做,这也会有帮助。

最佳答案

你可以这样做:

$top_cont = DB::table('quests') 
->select('user_id', DB::raw('count(*) as contributions'))
->whereDate('created_at', '>=', now()->startOfDay())
->take(5)
->groupBy('user_id')
->orderBy('contributions', 'desc')
->get();

这应该会为您提供 5 条记录:

dd($top_cont);
=> Illuminate\Support\Collection {#3403
all: [
{#256
user_id: 2,
contributions: 51,
},
{#3417
user_id: 975,
contributions: 50,
},
{#3418
user_id: 743,
contributions: 46,
},
{#3419
user_id: 538,
contributions: 45,
},
{#3420
user_id: 435,
contributions: 18,
},
],
}

关于php - Laravel 中某个字段出现次数最多的查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58568356/

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