如何计算具有groupby的记录数导致laravel?

时间:2017-06-16 11:11:01

标签: php mysql laravel laravel-5.2 laravel-query-builder

我对此感到困惑我希望计算记录的数量,但每次都会返回错误的值。这是我的表: -

id  contributor_id  user_id     history_id  contributor_income 
1   1               14              1               0.57    
2   1               14              2               0.57    
3   1               14              3               0.57    
4   1               14              4               3.75    
5   2               14              5               0.57 

以上是我的表,但它给了我数4但我想要2.这是我的查询: -

$query  = DB::table('contributor_commissions')
          ->groupBy('contributor_id')->count();

但是当我打印出来时,它会将count计为4,但只有两组contributor_id

4 个答案:

答案 0 :(得分:0)

你走了:

$reserves = DB::table('contributor_commissions')->selectRaw('*, count(*)')->groupBy('contributor_id');

答案 1 :(得分:0)

请试试这个

DB::table('contributor_commissions')->distinct('contributor_id')->count('contributor_id');

答案 2 :(得分:0)

这应该有效     DB::table('contributor_commissions')->distinct('contributor_id')->count()

答案 3 :(得分:0)

试试这个。

$query = $user_info = DB::table('contributor_commissions')
                     ->select('contributor_id', DB::raw('count(*) as total'))
                     ->groupBy('contributor_id')
                     ->get();