You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel查询构建器:合并同日期数据并对score字段求和

解决方案

要实现指定日期范围内按日期合并、对score求和且不显示重复日期的需求,只需调整查询的字段选择与分组逻辑,具体修改如下:

修改后的查询代码

$scoreboard = HistoryPenjualan::select(
    DB::raw('DATE(tgl) as tanggal'), // 提取日期部分(若`tgl`本身是date类型,可直接写`tgl`)
    DB::raw('SUM(score) as totalScore')
)
->whereBetween('tgl', [$tglA, $tglB])
->groupBy('tanggal') // 按日期分组,确保每个日期唯一
->orderBy('tanggal', 'asc') // 可选:按日期升序排列,也可改为按totalScore排序
->get();

关键说明

  • 日期去重:通过DATE(tgl)将datetime/timestamp类型的字段转换为纯日期格式,避免因时分秒差异导致的同一日期被拆分;如果你的tgl字段本身就是date类型,直接使用tgl即可。
  • 分组求和:groupBy('tanggal')确保同一日期的记录被合并为一行,SUM(score)则对该日期下的所有score值进行累加。
  • 排序可选:根据需求可以调整orderBy的字段,比如改为orderBy('totalScore', 'desc')按总分降序排列。

内容的提问来源于stack exchange,提问作者Retaker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 12:55:58