【问题标题】:How to count the number of records with groupby result in laravel?如何在laravel中计算groupby结果的记录数?
【发布时间】:2017-11-19 03:31:50
【问题描述】:

我被困在这个问题上,我想计算记录的数量,但每次都会返回错误的值。这是我的表:-

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();

但是当我打印它时,它给出的计数是 4,但只有两组contributor_id

【问题讨论】:

  • 结果集中有多少行?
  • 现在表中总共有 5 行,并且有两组contributor_id,但是当我打印上面的查询时它给了我 4
  • 所以回显该查询中返回的所有行,看看是什么!
  • 只有两行,但我不想使用 php count 函数来计算我想用查询生成器做的数组
  • 是的,一个计数为 4,另一个计数为 1,对吗?所以查询工作正常:)

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


【解决方案1】:

这应该可以 DB::table('contributor_commissions')->distinct('contributor_id')->count()

【讨论】:

    【解决方案2】:

    请试试这个

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

    【讨论】:

    • 我要 count 不获取数组
    • 将contributor_commissions 更改为contributor_id
    • @kanumahajan 它会起作用-无论如何感谢亲爱的更正
    【解决方案3】:

    试试这个。

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

    【讨论】:

    • 不要数组我要计数
    【解决方案4】:

    给你:

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

    【讨论】:

    • 它是从这里复制和粘贴的答案:stackoverflow.com/questions/34827917/… 你为什么不将其标记为重复或通过链接提供参考
    • @MayankPandeyz 而不是用户必须单击并去那里找到代码。这有什么问题?只需复制代码并在您的代码中使用它。太简单!!我没有复制这个。
    猜你喜欢
    • 2011-02-11
    • 2014-01-09
    • 1970-01-01
    • 2018-10-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-16
    相关资源
    最近更新 更多