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') 是按其中的两个字段进行分组

打印结果:

 

此时进行并排序:

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

 

 

 

 

posted @ 2019-11-11 19:17  左左zgf  阅读(18882)  评论(0)    收藏  举报