利用Mysql中的 的聚合函数 count(*) 可以实现这个功能
例如需要查询user表中village_id出现次数最多的记录,可以先按照group by village_id分组,用count算出分组里的条数,再按照count排序:
$o = User::where('add_type', 2)
->where('village_id', $name)
->select([
\DB::raw('count(*)'),
\DB::raw("village_id")
])
->groupBy('village_id')
->orderBy('count(*)')
->limit(1)
->get();
select village_id,count(*) from user group by village_id order by count(*) DESC limit 1
利用Mysql count(*)查询频率:最频繁village_id的统计

1137

被折叠的 条评论
为什么被折叠?



