【问题标题】:Request giving count of each distinct family要求对每个不同的家庭进行计数
【发布时间】:2017-10-15 05:37:09
【问题描述】:

我正在寻找可以提供这种结果的 sql 请求。

id | family       result :
 1     A          [A => 2, B => 1, C => 1]
 2     A
 3     B
 4     C

最好用雄辩的。

目前的解决方案:

materials()->select('family', DB::raw('count(*) as total'))
           ->groupBy('family')
           ->pluck('total', 'family');

【问题讨论】:

  • 您是否已经尝试过?这不是一个代码点播网站...
  • 一个简单的 groupBy 和 count 查询将为您提供这个。
  • 我尝试的请求根本不起作用,所以我不想把人们引向错误的方向
  • 别担心,有一些基本 SQL 知识的人不会被你的尝试误导

标签: mysql laravel eloquent


【解决方案1】:

你可以试试这样的:

$plop = Plop::selectRaw('family, COUNT(id) AS total')->groupBy('family')->pluck('total', 'family');

由于您没有提供足够的细节,因此很难准确。

【讨论】:

  • 感谢pluck功能,我会这样看
  • @ThomasPetillot 这正是您需要的原因
【解决方案2】:

使用 laravel eloquent,使用 groupBy()count()

$model=Model::get()->groupBy('family');
foreach($model as $key => $mod)
 {
        echo $key;
        echo (count($mod));
 }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-27
    • 1970-01-01
    • 2010-09-28
    • 2019-11-23
    • 2019-02-09
    相关资源
    最近更新 更多