Php sum()具有相同id的每个数量
大家好,这是我的“输入”表。我想对具有相同TID的值求和:Php sum()具有相同id的每个数量,php,laravel,eloquent,Php,Laravel,Eloquent,大家好,这是我的“输入”表。我想对具有相同TID的值求和: re | in_ID| Value | ========================= 1 | 1 | 3 | 2 | 1 | 3 | 3 | 1 | 4 | 4 | 1 | 5 | 5 | 2 | 3 | 6 | 2 | 3 | 7 | 2 | 2 |
re | in_ID| Value |
=========================
1 | 1 | 3 |
2 | 1 | 3 |
3 | 1 | 4 |
4 | 1 | 5 |
5 | 2 | 3 |
6 | 2 | 3 |
7 | 2 | 2 |
8 | 2 | 2 |
我的结果应该是这样的
in_ID| sum(Value)|
==================
1 | 14 |
2 | 20 |
我的尝试是:
公共函数sum(){
返回生产输入::选择('in_id','value')->sum('value')->groupBy(['in_id']);
}
试试这种方法
public function sum(){
return production_input::select([\DB::raw("SUM(value) as value"), 'in_id'])
->groupBy('in_id')
->get();
}
问题是什么?没有得到我描述的结果。非常感谢。你能描述一下它是如何工作的吗?如果没有原始查询,它能工作吗?例如\DB::Raw(“SUM(value)as value”),“in_id”]->groupBy('in_id')。当你将groupBy与
in_id
一起使用时,它将在in_id
中进行分组转换。“求和”功能将对组中的值进行求和。选择功能将在sum的id和值中选择。作为回报,您将只获得in_id和的in_id:)在没有原始查询的情况下,这可以工作是的。使用->selectRaw('sum(value)as sum,in_id')