如何通过分组来计算价值[重复]

Posted

技术标签:

【中文标题】如何通过分组来计算价值[重复]【英文标题】:how to count value with grouping it [duplicate] 【发布时间】:2021-12-19 05:13:04 【问题描述】:

我是 Laravel 新手,我需要通过分组来计算值,例如这些值

male male male female female

我需要计算列中有多少个 1,我希望结果是 男:3,女:2

我已经尝试过这种方法,但它没有按预期工作

Patient::select('gendar')->groupBy('gendar')->count()

【问题讨论】:

对不起,你的问题,如何计算有多少关系? 对不起,我已经编辑了问题 Here 的问题和你的几乎一模一样 我不确定 pluck 是否适用于这种情况,但你可以试试Patient::select('gendar', DB::raw('count(*) as total'))->groupBy('gendar')->pluck('total', 'gendar'); 是的,我想要的,谢谢 【参考方案1】:

有几种方法可以做你想做的事,但最后,你需要添加一个自定义选择来计算分组值。为此,Laravel 提供了 selectRawDB::raw('...') 助手。

您的一些选项例如:

$patients = Patient::select('gendar', DB::raw('count(gendar) as count'))
    ->groupBy('gendar')
    ->get()

或者

$patients = Patient::select('gendar')
    ->addSelect(DB::raw('count(gendar) as count'))
    ->groupBy('gendar')
    ->get()

甚至

$patients = Patient::selectRaw('gendar, count(gendar) as count')
    ->groupBy('gendar')
    ->get()

您可以在官方文档中阅读更多关于 Laravel 的原始方法的信息:https://laravel.com/docs/8.x/queries#raw-methods

【讨论】:

谢谢,效果很好

以上是关于如何通过分组来计算价值[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Javascript:通过将路径作为字符串传递给对象来从对象中获取深层价值[重复]

Javascript:通过将路径作为字符串传递给对象来从对象中获取深层价值[重复]

有没有办法通过多个分组找到最高价值

从 DialogFragment 获取价值 [重复]

遍历 Pandas 数据框 [重复]

HDU - 1712 - ACboy needs your help 分组背包