导航栏

文章

  • 首页
  • 查看历史

导航栏

  • 登陆
    • QQ登陆 微博登陆
  • 其他
    • 图标库
  • 夜间模式
  • 退出登录

【亲测】laravel 根据不同状态做数据统计 【亲测】


作者:科技小锅盖             时间:2021-8-02 14:23             站长QQ:1540217035

近期做经销商后台的数据,突然要做一个状态下的不同条件的数据统计,能想到是单独条件去查再做汇总,但是想到效率和技术问题,怎么一条语句直接查询出来相关数据,而且做总得数据汇总,查到了以下办法:

$data = Commission::query()
   ->whereIn('dealer_phone', $phoneData)  //数据条件
   ->select(  //在select里面做sum汇总,可以写case when的条件判断,一条一句解决问题
       DB::raw('sum(commission_amount) AS sum'),
       DB::raw('sum(case when settlement_status=1 then commission_amount else 0 end) AS start_sum'),
       DB::raw('sum(case when settlement_status=2 then commission_amount else 0 end) AS end_sum')
   )->get();
//数据结构重构,类型转换
$newData = [
   'total' => intval($data[0]['sum'] ?? 0),
   'unsettled' => intval($data[0]['start_sum'] ?? 0),
   'settled' => intval($data[0]['end_sum'] ?? 0)
];


这样下来比较方便,看着也比较舒服,也可以单条件查一下,直接把查出来的数据想加也可以。



推荐

苹果或会在3月23日举办今年第一场发布会 AirTags追踪贴可能会现身

2021-03-09 09:22:46

三星Note10系列发布会除了手机,还有哪些硬件产品?

2020-06-02 14:21:24

【亲测】超级好用的工具网站推荐 【亲测】

2022-06-15 09:48:44

小米10 Pro+ 要来啦或采用今年最强快充组合

2020-07-30 17:15:14

【亲测】 Call to undefined function Illuminate\Filesystem\symlink() 【亲测】

2021-07-14 10:24:36

三星Note20系列正式发布:配置很顶级,但价格更贵了

2020-08-06 14:32:06

【亲测】composer1 更新文件报内存溢出:更新命令【亲测】

2021-09-29 19:14:40

【亲测】PHP如何快速的往MySQL插入百万级数据【亲测】

2021-08-13 17:30:43

【亲测】ab测压工具实例运行【亲测】

2021-09-03 14:39:06

【亲测】spotify 挂代理无法注册怎么办? 知道方法我懵了【亲测】

2022-02-14 15:35:16

陕ICP备2021003534号-1 科技小锅盖 保留所有权利 网站地图 站长QQ:1540217035
    友情链接:
  • 米醋儿
  • 笔墨