You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel或MySQL中如何查询出现次数最多的行记录,计数持平取最小值

你提出的需求在MySQL和Laravel中都可以实现,以下是具体实现方案:

MySQL 实现

实现逻辑:先对worktime_l字段分组统计每个值的出现频次,先按频次倒序排序保证出现次数最多的结果排在最前,频次相同的情况下按worktime_l数值升序排序保证更小的值排在前面,最后取第一条结果即可。
请将下方SQL中的your_table替换为实际业务表名:

SELECT worktime_l
FROM your_table
GROUP BY worktime_l
ORDER BY COUNT(*) DESC, worktime_l ASC
LIMIT 1;

Laravel 实现

可以通过查询构造器或者Eloquent ORM实现,逻辑和原生MySQL完全一致,下方为查询构造器写法:

// 请替换your_table为实际表名
$result = \Illuminate\Support\Facades\DB::table('your_table')
    ->select('worktime_l')
    ->groupBy('worktime_l')
    ->orderByRaw('COUNT(*) DESC')
    ->orderBy('worktime_l', 'asc')
    ->value('worktime_l');

如果使用Eloquent模型,将DB::table('your_table')替换为对应模型类的查询起始方法即可,比如WorkRecord::query(),最终value()方法会直接返回符合要求的数值,无需额外解析结果集。

内容的提问来源于stack exchange,提问作者Patas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.01 14:36:01