【发布时间】:2020-02-22 09:17:03
【问题描述】:
我有以下疑问:
$top_cont = DB::table('quests')
->whereBetween('created_at', [Carbon::now()->startOfDay(), Carbon::now()->endOfDay()])
->take(5)
->get();
quests 表有一个 user_id 列。我正在尝试获得贡献最多的前 5 个user_ids(即今天任务表中的行数最多)。
如何调整查询以找到出现次数最多的user_ids?
如果有人可以在原始 sql 中做到这一点,这也会有所帮助。
【问题讨论】:
-
SELECT user_id, COUNT(*) FROM quests WHERE created_at >= date(NOW()) AND created_at < date_add(date(NOW()), INTERVAL 1 DAY) GROUP BY user_id ORDER BY COUNT(*) DESC LIMIT 5
标签: php mysql laravel query-builder laravel-query-builder