导航栏

文章

  • 首页
  • 查看历史

导航栏

  • 登陆
    • 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)
];


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



推荐

【亲测】laravel 里面 where 条件的in查询方法 【亲测】

2021-09-26 17:18:32

河北唐山市委政法委书记回应烧烤店打人事件:嫌疑人已锁定正在抓捕

2022-06-10 17:56:07

【亲测】Clash For Windows 客户端中文汉化教程【亲测】

2022-04-14 15:53:23

搬砖网 【https://www.xsjic.com/】大部分源码都不存在,大家别支付了- 谨防上单受骗

2021-01-19 15:40:48

苹果WWDC2019:五大系统集齐,将建立统一应用平台

2020-06-02 14:20:38

努比亚120W氘锋氮化镓充电器重磅发布,各家数码产品皆可快冲

2020-07-24 11:01:31

中国首款5G平板来了,明天正式上市!

2020-06-02 15:31:56

【亲测】linux中添加ftp用户,并设置相应的权限【亲测】

2020-07-29 13:31:46

坚果手机没了!字节跳动暂停手机相关业务,坚果R2刚宣布将大降价

2021-01-18 15:58:29

【亲测】Nginx监听的IP及端口号的设置【亲测】

2020-07-24 11:25:50

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