Laravel 根据表中字段进行groupBy分组,且查询每个组内的数量,并排序
所求: 根据用户的浏览日志表,找到用户最喜欢的栏目类型(栏目由频道类型确定)
表中字段:

分析:在user_id确定的情况下,用两个字段,频道(channel_id)和栏目(column_id)进行分组,找到组内总记录数最多的组,取其所需要的字段(栏目column_id)
可以这样进行处理:

重点理解;
->select('channel_id', 'column_id', DB::raw('count(*) as num')) 其中的字段是我们所需要返回的字段(看下方的打印结果)
->groupBy('channel_id', 'column_id') 是按其中的两个字段进行分组
打印结果:

此时进行并排序:

打印结果:此时即为组内总数最多的组的所需字段

浙公网安备 33010602011771号