Laravel 一條 SQL 如何 count 多個欄位,Laravel 一條 sql 查詢每個分類的數量

earnpls發表於2017-05-12

在我們做統計的時候,我們常常需要計算各種分類的條數,有的人就迷茫了,我要計算10個分類,就要寫10條SQL?那這也太麻煩了吧?群裡一個朋友就是這麼寫的,我們來看一下他的SQL
一. 錯誤案例
file
這樣寫4條SQL,如果我是100個分類,我的天,你得瘋掉吧?
二. 解決辦法
那行,我們來解決一下,這個時候我選擇用一下原始表示式:

$users = DB::table('notice')
                    // notice_sort是為了看分類,可不要
                    ->select(DB::raw('count(*) as user_count, notice_sort'))
                    ->groupBy('notice_sort')
                    ->get();
dump($users);

然後我們看一下輸出的結果
file
我們再來看一下SQL,問題解決了:

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

轉載請註明 :一沙網路原文出處:http://bbs.earnp.com/article/381
問題交流群 :562864481

相關文章