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

Song • 452 次浏览 • 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();

原创文章,转载请注明 :laravel 一条SQL如何count 多个字段,laravel一条sql查询每个分类的数量 - Laravel学习网
原文出处: https://phpartisan.cn/news/31.html
问题交流群 :168117787
提交评论
要回复文章请先登录注册
用户评论
  • 没有评论
[ 配置教程 ] 在ubuntu16.04中部署LNMP环境(php7+maridb且开启maridb远程以及nginx多域名访问 )并配置laravel环境 Sql联合查询相同字段只显示一个字段怎么办?laravel Sql联合查询相同字段只显示一个字段怎么办?