gpt4 book ai didi

php - Laravel Group By 和其他列的 Sum 总值

转载 作者:行者123 更新时间:2023-12-05 08:34:15 27 4
gpt4 key购买 nike

我的数据库中有一个表,如下所示:

id | date       | amount
========================
1 | 2015-01-26 | 1000
2 | 2015-02-26 | 100
3 | 2014-06-26 | 10

我想按年份对记录进行分组,然后求出每一组的金额之和。

我可以使用以下查询找到组:

Fee::orderBy('date', 'DESC')
->get()
->groupBy(function($date) {
return Carbon::parse($date->date)->format('Y'); // grouping by years
})

但我无法得到每组的金额总和。

最佳答案

恐怕我现在无法用 eloquent 弄明白,但这应该适用于查询构建器。它对我来说没问题:

DB::table('fees')
->select(DB::raw('YEAR(date) as year'), DB::raw('sum(amount) as total'))
->groupBy(DB::raw('YEAR(date)') )
->get();

使用您在问题中输入的相同日期:

id       date                       amount
1 2015-01-26 1000
2 2015-02-26 100
3 2014-06-26 10

它给出了以下内容:

array:2 [▼
0 => {#150 ▼
+"year": 2014
+"total": "10"
}
1 => {#151 ▼
+"year": 2015
+"total": "1100"
}
]

关于php - Laravel Group By 和其他列的 Sum 总值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30801873/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com