laravel 一条SQL如何count 多个字段,laravel一条sql查询每个分类的数量

Song3417 次浏览0个评论2017年09月19日

laravel常常需要一条SQL如何count 多个字段,laravel一条sql查询每个分类的数量。在我们做统计的时候,我们常常需要计算各种分类的条数,有的人就迷茫了,我要计算10个分类,就要写10条SQL?那这也太麻烦了吧?群里一个朋友就是这么写的,我们来看一下他的SQL

一、错误案例

5BB27456ADD5FD7315933939E9E0B5D8

这样写4条SQL,如果我是100个分类,我的天,你得疯掉吧?这时候怎么解决?其实主要是SQL的问题

二、 解决办法

那行,我们来解决一下,这个时候我选择用一下原始表达式:

$users = DB::table('notice')
            ->select(DB::raw('count(*) as user_count, notice_sort'))
            ->groupBy('notice_sort')
            ->get();
dump($users);

我们再来看一下SQL,问题解决了:

select count(*) as user_count, notice_sort from `notice` group by `notice_sort`

那这样,从SQL我们可以看出,可以使用Eloquent优化SQL,如下所示:

DB::table('notice')
            ->select("notice_sort")
            ->groupBy('notice_sort')
            ->count();

提交评论

请登录后评论

用户评论

    当前暂无评价,快来发表您的观点吧...

更多相关好文

    当前暂无更多相关好文推荐...